الفرق بين المراجعتين لصفحة: «Ruby/IO/each»

من موسوعة حسوب
< Ruby‏ | IO
أنشأ الصفحة ب'<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>ios</code>، حيث تُفصل الأسطر بواسطة <code>sep</code>. يجب أن يكون [[Ruby/IO|مجرى د/خ]] <code>ios</code> مفتوحا في وضعية القراءة، أو سيُطلق الاستثناء <code>IOError</code>.
ينفذ التابع <code>each</code> الكتلة المعطاة لكل سطر في [[Ruby/IO|مجرى د/خ]] الذي استُدعي معه، حيث تُفصل الأسطر بالوسيط <code>sep</code>(انظر فقرة البنية العامة).


في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف enumerator بدلاً من ذلك.
يجب أن يكون [[Ruby/IO|مجرى د/خ]] <code>ios</code> مفتوحا في وضعية القراءة، أو سيُطلق الاستثناء <code>IOError</code>.


في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف <code>[[Ruby/Enumerator|Enumerator]]</code> بدلاً من ذلك.


 
راجع صفحة <code>[[Ruby/IO/readlines|readlines]]</code> لمزيد من التفاصيل حول الوسيط <code>getline_args</code>.
<code>produces:</code>
 
<syntaxhighlight lang="ruby">1: This is line one
2: This is line two
3: This is line three
4: And so on...‎</syntaxhighlight>
 
راجع صفحة <code>[[Ruby/IO/readlines|::readlines]]</code> لمزيد من التفاصيل حول getline_args.
==البنية العامة==
==البنية العامة==
<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>getline_args‎</code>===
===<code>limit‎</code>===
===<code>limit‎</code>===
===<code>...‎</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/codepoints|codepoints]]</code>:  هو مرادف مُتجاوز للتابع <code>[[Ruby/IO/each_codepoint|each_codepoint]]</code>.
*التابع <code>[[Ruby/IO/each byte|each_byte]]</code>: يستدعي الكتلة المعطاة على لكل بايت (0..255) في [[Ruby/IO|مجرى د/خ]]
* التابع <code>[[Ruby/IO/each_byte|each_byte]]</code>: يستدعي الكتلة المعطاة مرة لكل بايت (0..255) في [[Ruby/IO|مجرى د/خ]] <code>ios</code>، مع تمرير البايت كوسيط. يجب أن يكون المجرى مفتوحًا في وضعية القراءة أو سيُرفع استثناء <code>IOError</code>.
 
* التابع <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_byte: يستدعي الكتلة المعطاة على لكل بايت (0..255) في مجرى د/خ
  • التابع each_char: يستدعي الكتلة المعطاةة على كل حرف في مجرى د/خ
  • التابع each_codepoint: ينفذ الكتلة المعطاة، مع تمرير الرمز العددي (Integer ordinal) لكل حرف من الحروف الموجودة في مجرى د/خ، مع تمرير رمز اليونيكود (codepoint) كوسيط.

مصادر