الفرق بين المراجعتين ل"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) لكل محرف من المحارف الموجودة في المجرى الذي استدعي معه إلى الكتلة المعطاة.