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