الفرق بين المراجعتين لصفحة: «Ruby/IO/each line»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط تدقيق |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby IO]] | [[تصنيف: Ruby IO]] | ||
ينفذ التابع <code>each_line</code> الكتلة المعطاة على كل سطر في [[Ruby/IO| | ينفذ التابع <code>each_line</code> الكتلة المعطاة على كل سطر في [[Ruby/IO|المجرى]] الذي استدعي معه. | ||
يجب أن يكون [[Ruby/IO| | يجب أن يكون [[Ruby/IO|المجرى]] مفتوحًا في وضعية القراءة، وإلا سيُطلق الاستثناء <code>[[Ruby/IOError|IOError]]</code>. | ||
في حال لم | في حال لم تُعطَ أية كتلة، فسيُعاد كائن من الصنف <code>[[Ruby/Enumerator|Enumerator]]</code> بدلًا من ذلك. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">each_line(sep=$/ [, getline_args]) {|line| block } → ios | <syntaxhighlight lang="ruby">each_line(sep=$/ [, getline_args]) {|line| block } → ios | ||
سطر 17: | سطر 15: | ||
==المعاملات== | ==المعاملات== | ||
===<code>sep</code>=== | ===<code>sep</code>=== | ||
محرف يمثِّل الفاصل بين الأسطر. القيمة الافتراضية هي: <code>/$</code>. | |||
===<code>limit</code>=== | ===<code>limit</code>=== | ||
عدد صحيح يمثل الحد الأٌقصى. | عدد صحيح يمثل الحد الأٌقصى للأسطر التي ستطبق عليها العملية. | ||
== | === <code>getline_args</code> === | ||
راجع صفحة <code>[[Ruby/IO/readlines|readlines]]</code> لمزيد من التفاصيل حول هذا المعامل. | |||
==القيمة المعادة== | |||
يعاد [[Ruby/IO|المجرى]] المعطاة بعد تمرير كل سطر من أسطره إلى الكتلة <code>block</code>، أو يعاد كائن من الصنف <code>[[Ruby/Enumerator|Enumerator]]</code> في حال لم تُعطَ أية كتلة. | |||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام التابع <code>each_line</code>: | مثال على استخدام التابع <code>each_line</code>: | ||
<syntaxhighlight lang="ruby">f = File.new("testfile") | <syntaxhighlight lang="ruby">f = File.new("testfile") | ||
f.each {|line| puts "#{f.lineno}: #{line}" }</syntaxhighlight> | f.each {|line| puts "#{f.lineno}: #{line}" }</syntaxhighlight>ناتج تنفيذ هذه الشيفرة هو:<syntaxhighlight lang="text">1: This is line one | ||
2: This is line two | 2: This is line two | ||
3: This is line three | 3: This is line three | ||
4: And so on...</syntaxhighlight> | 4: And so on...</syntaxhighlight> | ||
==انظر | ==انظر أيضًا== | ||
* التابع <code>[[Ruby/IO/ | *التابع <code>[[Ruby/IO/each|each]]</code>: ينفذ الكتلة المعطاة على كل سطر في [[Ruby/IO|المجرى]] الذي استُدعي معه. | ||
*التابع <code>[[Ruby/IO/each byte|each_byte]]</code>: يستدعي الكتلة المعطاة على كل بايت (0..255) في [[Ruby/IO|المجرى]] الذي استدعي معه. | |||
* التابع <code>[[Ruby/IO/each char|each_char]]</code>: يستدعي الكتلة | *التابع <code>[[Ruby/IO/each char|each_char]]</code>: يستدعي الكتلة المعطاة على كل محرف في [[Ruby/IO|المجرى]] الذي استدعي معه. | ||
* التابع <code>[[Ruby/IO/each | *التابع <code>[[Ruby/IO/each codepoint|each_codepoint]]</code>: يمرر كل عدد من الأعداد الترتيبية (Integer ordinal) لكل محرف من المحارف الموجودة في [[Ruby/IO|المجرى]] الذي استدعي معه إلى الكتلة المعطاة. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/IO.html#method-i-each_line قسم | *[http://ruby-doc.org/core-2.5.1/IO.html#method-i-each_line قسم التابع each_line في الصنف IO في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 09:26، 22 ديسمبر 2018
ينفذ التابع 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) لكل محرف من المحارف الموجودة في المجرى الذي استدعي معه إلى الكتلة المعطاة.