التابع IO.each_line
في روبي
ينفذ التابع each_line
الكتلة المعطاة على كل سطر في المجرى الذي استدعي معه.
يجب أن يكون المجرى مفتوحًا في وضعية القراءة، وإلا سيُطلق الاستثناء IOError
.
في حال لم تُعطَ أية كتلة، فسيُعاد كائن من الصنف Enumerator
بدلًا من ذلك.
البنية العامة
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
عدد صحيح يمثل الحد الأٌقصى للأسطر التي ستطبق عليها العملية.
getline_args
راجع صفحة readlines
لمزيد من التفاصيل حول هذا المعامل.
القيمة المعادة
يعاد المجرى المعطاة بعد تمرير كل سطر من أسطره إلى الكتلة block
، أو يعاد كائن من الصنف 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
: ينفذ الكتلة المعطاة على كل سطر في المجرى الذي استُدعي معه. - التابع
each_byte
: يستدعي الكتلة المعطاة على كل بايت (0..255) في المجرى الذي استدعي معه. - التابع
each_char
: يستدعي الكتلة المعطاة على كل محرف في المجرى الذي استدعي معه. - التابع
each_codepoint
: يمرر كل عدد من الأعداد الترتيبية (Integer ordinal) لكل محرف من المحارف الموجودة في المجرى الذي استدعي معه إلى الكتلة المعطاة.