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

من موسوعة حسوب
< Ruby‏ | Dir
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:  التابع <code>foreach</code> الخاص بالصنف <code>Dir</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف:...')
 
ط (مراجعة وتدقيق)
 
(مراجعتان متوسطتان بواسطة مستخدم واحد آخر غير معروضتين)
سطر 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>each_child</code> الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد باستثناء "<code>..</code>" و "<code>.</code>". حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة.  
+
يستدعي التابع <code>foreach</code> الكتلة المعطاة على كل ملف من الملفات الموجودة في المجلد المحدد، إذ يمُمرّر أسماء تلك الملفات كوسائط للكتلة.  
  
في حال عدم تمرير أي كتلة، فسيعاد كائن من النوع [[Ruby/Enumerator|enumerator]].  
+
في حال عدم تمرير أي كتلة، يعاد كائنٌ من النوع [[Ruby/Enumerator|<code>enumerator</code>]].
 
+
==البنية العامة==
== البنية العامة ==
 
 
<syntaxhighlight lang="ruby">
 
<syntaxhighlight lang="ruby">
each_child( dirname ) {| filename | block } → nil click to toggle source
+
foreach( dirname ) {| filename | block } → nil
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>
 +
==المعاملات==
 +
===<code>dirname</code>===
 +
اسم المجلد المعطى المراد تنفيذ الكتلة <code>block</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">
 +
Dir.foreach("testdir") {|x| puts "Got #{x}" }
  
== المعاملات ==
+
</syntaxhighlight>سينتج عند تنفيذه:<syntaxhighlight lang="ruby">
 
+
Got .
=== <code>dirname </code> ===
+
Got ..
يحدد اسم المجلد.
 
 
 
=== <code>encoding</code> ===
 
يحدد ترميز المجلد.
 
 
 
== القيمة المٌعادة ==
 
في حال تمرير كتلة فالقيمة المعادة للتابع <code>chdir</code> ستكون <code>nil</code>، وإلا فسيعاد كائن من النوع [[Ruby/Enumerator|enumerator]].
 
 
 
== أمثلة ==
 
أمثلة عن استخدام التابع <code>each_child</code>:<syntaxhighlight lang="ruby">
 
Dir.each_child("testdir") {|x| puts "Got #{x}" }
 
 
 
</syntaxhighlight>سينتج:<syntaxhighlight lang="ruby">
 
 
Got config.h
 
Got config.h
 
Got main.rb
 
Got main.rb
 
</syntaxhighlight>
 
</syntaxhighlight>
 
+
==انظر أيضًا==
== أنظر أيضًا ==
+
*التابع <code>[[Ruby/Dir/each|each]]</code>: يستدعي الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد، إذ يمُمرّر أسماء تلك الملفات كوسائط للكتلة.
* صفحة الصنف <code>[[Ruby/Dir|Dir]]</code>.
+
*التابع <code>[[Ruby/Dir/each child|each_child]]</code>: يستدعي الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد باستثناء "<code>..</code>" و "<code>.</code>"، إذ يمُمرّر أسماء تلك الملفات كوسائط للكتلة.
* التابع <code>[[Ruby/Dir/5B-5D|Dir[]]]</code> : يكافئ التابع <code>Dir[]‎</code> استدعاء <code>Dir.glob([string,...], 0)</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-each_child قسم التابع chdir في الصنف 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: يستدعي الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد باستثناء ".." و "."، إذ يمُمرّر أسماء تلك الملفات كوسائط للكتلة.

مصادر