الفرق بين المراجعتين ل"Ruby/IO/foreach"

من موسوعة حسوب
< Ruby‏ | IO
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>foreach‎</code> الخاص بالصنف <code>IO</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف:...')
 
ط (مراجعة وتدقيق.)
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>foreach‎</code> الخاص بالصنف <code>IO</code> في روبي}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: التابع <code>IO.foreach‎</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby IO]]
 
[[تصنيف: Ruby IO]]
ينفذ التابع <code>foreach</code> الكتلة المعطاة على كل سطر في منفذ [[Ruby/IO|مجرى د/خ]] المسمى، حيث يتم فصل الأسطر بواسطة <code>sep</code>.
+
ينفذ التابع <code>foreach</code> الكتلة المعطاة على كل سطر في منفذ [[Ruby/IO|مجرى د/خ]] المسمى. إن كان آخر معامل مُمرَّر إلى التابع هو [[Ruby/Hash|جدول Hash]]، فسيتم فتح الوسيط المسمى (keyword argument).  
  
في حال لم تُعطى أي كتلة، فسيُعاد كائن من الصنف enumerator بدلاً من ذلك.
+
في حال لم تُعطَ أية كتلة، فسيُعاد كائن من الصنف <code>[[Ruby/Enumerator|Enumerator]]</code> بدلًا من ذلك.
 
 
 
 
 
 
<code>produces:</code>
 
 
 
<syntaxhighlight lang="ruby">GOT This is line one
 
GOT This is line two
 
GOT This is line three
 
GOT And so on...‎</syntaxhighlight>
 
 
 
إن كان الوسيط الأخيرة عبارة عن [[Ruby/Hash|قاموس]]، فسيتم فتح الوسيط المسمى (keyword argument). راجع صفحة <code>[[Ruby/IO/readlines|::readlines]]</code> لمزيد من التفاصيل حول getline_args. وانظر أيضا <code>[[Ruby/IO/read|::read]]</code> لمزيد من التفاصيل حول open_args.
 
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">foreach(name, sep=$/ [, getline_args, open_args]) {|line| block }  → nil
 
<syntaxhighlight lang="ruby">foreach(name, sep=$/ [, getline_args, open_args]) {|line| block }  → nil
سطر 24: سطر 13:
 
==المعاملات==
 
==المعاملات==
 
===<code>name‎</code>===
 
===<code>name‎</code>===
اسم الملف
+
اسم الملف المراد تطبيق العملية عليه.
 
===<code>sep‎</code>===
 
===<code>sep‎</code>===
 +
الفاصل الذي يفصل بين الأسطر. القيمة الافتراضية هي: <code>/$</code>.
 +
 
===<code>getline_args‎</code>===
 
===<code>getline_args‎</code>===
 +
مصفوفة تحوي أسطر الملف. راجع صفحة <code>[[Ruby/IO/readlines|readlines]]</code> لمزيد من التفاصيل حول المعامل <code>getline_args</code>.
 +
 
===<code>open_args‎</code>===
 
===<code>open_args‎</code>===
خيارات الفتح
+
[[Ruby/Array|مصفوفة]] أو [[Ruby/Hash|جدول Hash]] يوفر خيارات الفتح. اطلع على صفحة التابع <code>[[Ruby/IO/read|read]]</code> لمزيد من التفاصيل حول المعامل <code>open_args</code>.
 
===<code>limit‎</code>===
 
===<code>limit‎</code>===
===<code>...‎</code>===
+
الحد الأقصى للأسطر.
==القيمة المُعادة==
+
 
 +
==القيمة المعادة==
 +
تعاد القيمة <code>nil</code> بعد تنفيذ العملية.
 +
 
 
==أمثلة==
 
==أمثلة==
 
مثال على استخدام التابع <code>foreach‎</code>:
 
مثال على استخدام التابع <code>foreach‎</code>:
<syntaxhighlight lang="ruby">IO.foreach("testfile") {|x| print "GOT ", x }‎</syntaxhighlight>
+
<syntaxhighlight lang="ruby">IO.foreach("testfile") {|x| print "GOT ", x }‎</syntaxhighlight>الناتج:<syntaxhighlight lang="text">GOT This is line one
==انظر أيضا==
+
GOT This is line two
* التابع <code>[[Ruby/IO/for_fd|for_fd]]</code>: مرادف للتابع <code>IO.new</code>.
+
GOT This is line three
* التابع <code>[[Ruby/IO/new|new]]</code>: يُعيد التابع <code>new</code> كائنًا جديدًا من النوع <code>[[Ruby/IO|IO]]</code> لواصف الملف (file descriptor) المعطى <code>fd</code> (انظر فقرة البنية العامة) والوضع <code>mode</code>.  يمكن استخدام <code>opt</code> لتحديد أجزاء من <code>mode</code> بطريقة أكثر قابلية للقراءة.  انظر أيضًا صفحتي <code>[[Ruby/IO/sysopen|::sysopen]]</code> و <code>[[Ruby/IO/for_fd|::for_fd]]</code>.
+
GOT And so on...‎</syntaxhighlight>
 +
==انظر أيضًا==
 +
* التابع <nowiki/>[[Ruby/IO/readlines|<code></code>]]<code>[[Ruby/IO/for_fd|readlines]]</code>: يقرأ أسطر الملف المعطى.
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/IO.html#method-c-foreach قسم التابع foreach‎ في الصنف IO‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/IO.html#method-c-foreach قسم التابع foreach‎ في الصنف IO‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 12:05، 19 ديسمبر 2018

ينفذ التابع foreach الكتلة المعطاة على كل سطر في منفذ مجرى د/خ المسمى. إن كان آخر معامل مُمرَّر إلى التابع هو جدول Hash، فسيتم فتح الوسيط المسمى (keyword argument).

في حال لم تُعطَ أية كتلة، فسيُعاد كائن من الصنف Enumerator بدلًا من ذلك.

البنية العامة

foreach(name, sep=$/ [, getline_args, open_args]) {|line| block }   nil
foreach(name, limit [, getline_args, open_args]) {|line| block } nil
foreach(name, sep, limit [, getline_args, open_args]) {|line| block }  nil
foreach(...)   an_enumerator

المعاملات

name‎

اسم الملف المراد تطبيق العملية عليه.

sep‎

الفاصل الذي يفصل بين الأسطر. القيمة الافتراضية هي: /$.

getline_args‎

مصفوفة تحوي أسطر الملف. راجع صفحة readlines لمزيد من التفاصيل حول المعامل getline_args.

open_args‎

مصفوفة أو جدول Hash يوفر خيارات الفتح. اطلع على صفحة التابع read لمزيد من التفاصيل حول المعامل open_args.

limit‎

الحد الأقصى للأسطر.

القيمة المعادة

تعاد القيمة nil بعد تنفيذ العملية.

أمثلة

مثال على استخدام التابع foreach‎:

IO.foreach("testfile") {|x| print "GOT ", x }

الناتج:

GOT This is line one
GOT This is line two
GOT This is line three
GOT And so on...‎

انظر أيضًا

  • التابع readlines: يقرأ أسطر الملف المعطى.

مصادر