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

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


في حال عدم تمرير أي كتلة، فسيعاد كائن من النوع [[Ruby/Enumerator|enumerator]].  
في حال عدم تمرير أي كتلة، فسيعاد كائن من النوع [[Ruby/Enumerator|enumerator]].  
سطر 9: سطر 9:
== البنية العامة ==
== البنية العامة ==
<syntaxhighlight lang="ruby">
<syntaxhighlight lang="ruby">
each_child( dirname ) {| filename | block } → nil click to toggle source
foreach( dirname ) {| filename | block } → nil click to toggle source
each_child( dirname, encoding: enc ) {| filename | block } → nil
foreach( dirname, encoding: enc ) {| filename | block } → nil
each_child( dirname ) → an_enumerator
foreach( dirname ) → an_enumerator
each_child( dirname, encoding: enc ) → an_enumerator
foreach( dirname, encoding: enc ) → an_enumerator
</syntaxhighlight>
</syntaxhighlight>


سطر 18: سطر 18:


=== <code>dirname </code> ===
=== <code>dirname </code> ===
يحدد اسم المجلد.
يحدد اسم المجلد المعطى.


=== <code>encoding</code> ===
=== <code>encoding</code> ===
يحدد ترميز المجلد.
يحدد ترميز المجلد المعطى.


== القيمة المٌعادة ==
== القيمة المٌعادة ==
سطر 27: سطر 27:


== أمثلة ==
== أمثلة ==
أمثلة عن استخدام التابع <code>each_child</code>:<syntaxhighlight lang="ruby">
مثال عن استخدام التابع <code>foreach</code> على المجلد <code>testdir</code> الذي يحتوي ملفين عاديين (<code>config.h</code> و <code>main.rb</code>) ، والمجلد الأب (<code>..</code>) ، والمجلد نفسه (<code>.</code>).<syntaxhighlight lang="ruby">
Dir.each_child("testdir") {|x| puts "Got #{x}" }
Dir.foreach("testdir") {|x| puts "Got #{x}" }


</syntaxhighlight>سينتج:<syntaxhighlight lang="ruby">
</syntaxhighlight>سينتج:<syntaxhighlight lang="ruby">
Got .
Got ..
Got config.h
Got config.h
Got main.rb
Got main.rb
سطر 37: سطر 39:
== أنظر أيضًا ==
== أنظر أيضًا ==
* صفحة الصنف <code>[[Ruby/Dir|Dir]]</code>.
* صفحة الصنف <code>[[Ruby/Dir|Dir]]</code>.
* التابع <code>[[Ruby/Dir/5B-5D|Dir[]]]‎</code> : يكافئ التابع <code>Dir[]‎</code> استدعاء <code>Dir.glob([string,...], 0)</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-each_child قسم  التابع chdir في الصنف Dir في توثيق روبي الرسمي.]
* [http://ruby-doc.org/core-2.5.1/Dir.html#method-c-foreach قسم  التابع foreach في الصنف Dir في توثيق روبي الرسمي.]

مراجعة 12:03، 23 سبتمبر 2018

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

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

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

foreach( dirname ) {| filename | block }  nil click to toggle source
foreach( dirname, encoding: enc ) {| filename | block }  nil
foreach( dirname )  an_enumerator
foreach( dirname, encoding: enc )  an_enumerator

المعاملات

dirname 

يحدد اسم المجلد المعطى.

encoding

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

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

في حال تمرير كتلة فالقيمة المعادة للتابع chdir ستكون nil، وإلا فسيعاد كائن من النوع enumerator.

أمثلة

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

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

سينتج:

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

أنظر أيضًا

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

مصادر