التابع IO.each_line‎ في روبي

من موسوعة حسوب

ينفذ التابع each_line الكتلة المعطاة على كل سطر في مجرى د/خ، حيث تُفصل الأسطر بالوسيط sep (انظر فقرة البنية العامة).

يجب أن يكون مجرى د/خ مفتوحًا في وضعية القراءة أو سيُرفع استثناء IOError.

في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف Enumerator بدلاً من ذلك.

راجع صفحة readlines لمزيد من التفاصيل حول getline_args.

البنية العامة

each_line(sep=$/ [, getline_args])  {|line| block }  ios
each_line(limit [, getline_args]){|line| block }  ios
each_line(sep, limit [, getline_args]) {|line| block }  ios
each_line(...) an_enumerator

المعاملات

sep‎

فاصل

limit‎

عدد صحيح يمثل الحد الأٌقصى.

القيمة المُعادة

يعيد التابع each مجرى د/خ الذي استُدعي معه، وفي حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف Enumerator 

أمثلة

مثال على استخدام التابع each_line‎:

f = File.new("testfile")
f.each {|line| puts "#{f.lineno}: #{line}" }

الناتج:

1: This is line one
2: This is line two
3: This is line three
4: And so on...

انظر أيضا

  • التابع each_codepoint: ينفذ الكتلة المعطاة، مع تمرير الرمز العددي (Integer ordinal) لكل حرف من الحروف الموجودة في مجرى د/خ، مع تمرير رمز اليونيكود (codepoint) كوسيط.
  • التابع each_char: يستدعي الكتلة المعطاةة على كل حرف في مجرى د/خ
  • التابع each_byte: يستدعي الكتلة المعطاة على لكل بايت (0..255) في مجرى د/خ 

مصادر