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

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


في حال عدم تمرير أي كتلة، فسيعاد كائن من النوع [[Ruby/Enumerator|enumerator]].  
في حال عدم تمرير أي كتلة، يعاد كائن من النوع [[Ruby/Enumerator|<code>enumerator</code>]].
 
==البنية العامة==
== البنية العامة ==
<syntaxhighlight lang="ruby">
<syntaxhighlight lang="ruby">
foreach( dirname ) {| filename | block } → nil click to toggle source
each { |filename| block } → dir
foreach( dirname, encoding: enc ) {| filename | block } → nil
each → an_enumerator
foreach( dirname ) → an_enumerator
foreach( dirname, encoding: enc ) → an_enumerator
</syntaxhighlight>
</syntaxhighlight>
 
==القيمة المعادة==
== المعاملات ==
في حال تمرير كتلة فالقيمة المعادة ستكون كائنًا من الصنف <code>Dir</code>، وإلا فسيعاد كائن من النوع [[Ruby/Enumerator|enumerator]].
 
==أمثلة==
=== <code>dirname </code> ===
مثال عن استخدام التابع <code>each</code> على المجلد <code>testdir</code> الذي يحوي ملفين عاديين (<code>config.h</code> و <code>main.rb</code>)، والمجلد الأب (<code>..</code>)، والمجلد نفسه (<code>.</code>).<syntaxhighlight lang="ruby">
يحدد اسم المجلد المعطى.
d = Dir.new("testdir")
 
d.each  {|x| puts "Got #{x}" }
=== <code>encoding</code> ===
</syntaxhighlight>سيُنتج تنفيذ هذا المثال:<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}" }
 
</syntaxhighlight>سينتج:<syntaxhighlight lang="ruby">
Got .
Got .
Got ..
Got ..
سطر 36: سطر 23:
Got main.rb
Got main.rb
</syntaxhighlight>
</syntaxhighlight>
==انظر أيضًا==
*التابع <code>[[Ruby/Dir/each child|each_child]]</code>: يستدعي الكتلة المعطاة على كل ملف أو مجلد موجود في المجلد المحدد باستثناء "<code>..</code>" و "<code>.</code>" إذ يمُمرّر أسماء تلك الملفات كوسائط إلى الكتلة.


== أنظر أيضًا ==
*التابع <code>[[Ruby/Dir/foreach|foreach]]</code>: يستدعي الكتلة المعطاة على كل ملف من الملفات الموجودة في المجلد المحدد، إذ يمُمرّر أسماء تلك الملفات كوسائط للكتلة. 
* صفحة الصنف <code>[[Ruby/Dir|Dir]]</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-i-each قسم التابع each في الصنف Dir في توثيق روبي الرسمي.]
 
== مصادر ==
* [http://ruby-doc.org/core-2.5.1/Dir.html#method-c-foreach قسم التابع foreach في الصنف Dir في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 07:21، 11 نوفمبر 2018

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

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

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

each { |filename| block }  dir 
each  an_enumerator

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

في حال تمرير كتلة فالقيمة المعادة ستكون كائنًا من الصنف Dir، وإلا فسيعاد كائن من النوع enumerator.

أمثلة

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

d = Dir.new("testdir")
d.each  {|x| puts "Got #{x}" }

سيُنتج تنفيذ هذا المثال:

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

انظر أيضًا

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

مصادر