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

من موسوعة حسوب
< Ruby‏ | Dir
لا ملخص تعديل
ط مراجعة وتدقيق
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:  التابع <code>foreach</code> الخاص بالصنف <code>Dir</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE:  التابع <code>Dir.foreach</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Dir]]
[[تصنيف: Ruby Dir]]
يستدعي التابع <code>foreach</code> الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد. حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة.  
يستدعي التابع <code>foreach</code> الكتلة المعطاة على كل ملف من الملفات الموجودة في المجلد المحدد، إذ يمُمرّر أسماء تلك الملفات كوسائط للكتلة.  


في حال عدم تمرير أي كتلة، فسيعاد كائن من النوع [[Ruby/Enumerator|enumerator]].  
في حال عدم تمرير أي كتلة، يعاد كائنٌ من النوع [[Ruby/Enumerator|<code>enumerator</code>]].
 
==البنية العامة==
== البنية العامة ==
<syntaxhighlight lang="ruby">
<syntaxhighlight lang="ruby">
foreach( dirname ) {| filename | block } → nil click to toggle source
foreach( dirname ) {| filename | block } → nil
foreach( dirname, encoding: enc ) {| filename | block } → nil
foreach( dirname, encoding: enc ) {| filename | block } → nil
foreach( dirname ) → an_enumerator
foreach( dirname ) → an_enumerator
foreach( dirname, encoding: enc ) → an_enumerator
foreach( dirname, encoding: enc ) → an_enumerator
</syntaxhighlight>
</syntaxhighlight>
 
==المعاملات==
== المعاملات ==
===<code>dirname</code>===
 
اسم المجلد المعطى المراد تنفيذ الكتلة <code>block</code> على كل عنصر من عناصره.
=== <code>dirname </code> ===
===<code>encoding</code>===
يحدد اسم المجلد المعطى.
ترميز المجلد المعطى.
 
==القيمة المعادة==
=== <code>encoding</code> ===
ستُعاد القيمة <code>nil</code> إن أعطيت كتلةٌ ونُفِّذت على كل ملف من ملفاته، وإلا فسيعاد كائنٌ من النوع [[Ruby/Enumerator|<code>enumerator</code>]].
يحدد ترميز المجلد المعطى.
==أمثلة==
 
مثال عن استخدام التابع <code>foreach</code> على المجلد <code>testdir</code> الذي يحوي ملفين عاديين (<code>config.h</code> و <code>main.rb</code>)، والمجلد الأب (<code>..</code>)، والمجلد نفسه (<code>.</code>):<syntaxhighlight lang="ruby">
== القيمة المٌعادة ==
في حال تمرير كتلة فالقيمة المعادة للتابع <code>chdir</code> ستكون <code>nil</code>، وإلا فسيعاد كائن من النوع [[Ruby/Enumerator|enumerator]].
 
== أمثلة ==
مثال عن استخدام التابع <code>foreach</code> على المجلد <code>testdir</code> الذي يحتوي ملفين عاديين (<code>config.h</code> و <code>main.rb</code>) ، والمجلد الأب (<code>..</code>) ، والمجلد نفسه (<code>.</code>).<syntaxhighlight lang="ruby">
Dir.foreach("testdir") {|x| puts "Got #{x}" }
Dir.foreach("testdir") {|x| puts "Got #{x}" }


</syntaxhighlight>سينتج:<syntaxhighlight lang="ruby">
</syntaxhighlight>سينتج عند تنفيذه:<syntaxhighlight lang="ruby">
Got .
Got .
Got ..
Got ..
سطر 36: سطر 30:
Got main.rb
Got main.rb
</syntaxhighlight>
</syntaxhighlight>
 
==انظر أيضًا==
== أنظر أيضًا ==
*التابع <code>[[Ruby/Dir/each|each]]</code>: يستدعي الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد، إذ يمُمرّر أسماء تلك الملفات كوسائط للكتلة.
* التابع <code>[[Ruby/Dir/each|each]]</code>: يستدعي التابع <code>each</code> الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد. حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة.
*التابع <code>[[Ruby/Dir/each child|each_child]]</code>: يستدعي الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد باستثناء "<code>..</code>" و "<code>.</code>"، إذ يمُمرّر أسماء تلك الملفات كوسائط للكتلة.
* التابع <code>[[Ruby/Dir/each child|each_child]]</code> : يستدعي التابع <code>each_child</code> الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد باستثناء "<code>..</code>" و "<code>.</code>". حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة. 
==مصادر==
 
*[http://ruby-doc.org/core-2.5.1/Dir.html#method-c-foreach قسم التابع foreach في الصنف Dir في توثيق روبي الرسمي.]
== مصادر ==
* [http://ruby-doc.org/core-2.5.1/Dir.html#method-c-foreach قسم التابع foreach في الصنف Dir في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 23:40، 10 نوفمبر 2018

يستدعي التابع foreach الكتلة المعطاة على كل ملف من الملفات الموجودة في المجلد المحدد، إذ يمُمرّر أسماء تلك الملفات كوسائط للكتلة.

في حال عدم تمرير أي كتلة، يعاد كائنٌ من النوع enumerator.

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

foreach( dirname ) {| filename | block }  nil
foreach( dirname, encoding: enc ) {| filename | block }  nil
foreach( dirname )  an_enumerator
foreach( dirname, encoding: enc )  an_enumerator

المعاملات

dirname

اسم المجلد المعطى المراد تنفيذ الكتلة block على كل عنصر من عناصره.

encoding

ترميز المجلد المعطى.

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

ستُعاد القيمة nil إن أعطيت كتلةٌ ونُفِّذت على كل ملف من ملفاته، وإلا فسيعاد كائنٌ من النوع enumerator.

أمثلة

مثال عن استخدام التابع foreach على المجلد testdir الذي يحوي ملفين عاديين (config.h و main.rb)، والمجلد الأب (..)، والمجلد نفسه (.):

Dir.foreach("testdir") {|x| puts "Got #{x}" }

سينتج عند تنفيذه:

Got .
Got ..
Got config.h
Got main.rb

انظر أيضًا

  • التابع each: يستدعي الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد، إذ يمُمرّر أسماء تلك الملفات كوسائط للكتلة.
  • التابع each_child: يستدعي الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد باستثناء ".." و "."، إذ يمُمرّر أسماء تلك الملفات كوسائط للكتلة.

مصادر