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