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

من موسوعة حسوب
< Ruby‏ | Dir
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>each</code> الخاص بالصنف <code>Dir</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby...')
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Dir]]
 
[[تصنيف: Ruby Dir]]
يستدعي التابع <code>foreach</code> الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد. حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة.  
+
يستدعي التابع <code>each</code> الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد. حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة.  
  
 
في حال عدم تمرير أي كتلة، فسيعاد كائن من النوع [[Ruby/Enumerator|enumerator]].  
 
في حال عدم تمرير أي كتلة، فسيعاد كائن من النوع [[Ruby/Enumerator|enumerator]].  
سطر 9: سطر 9:
 
== البنية العامة ==
 
== البنية العامة ==
 
<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>dirname </code> ===
 
يحدد اسم المجلد المعطى.
 
 
=== <code>encoding</code> ===
 
يحدد ترميز المجلد المعطى.
 
  
 
== القيمة المٌعادة ==
 
== القيمة المٌعادة ==
في حال تمرير كتلة فالقيمة المعادة للتابع <code>chdir</code> ستكون <code>nil</code>، وإلا فسيعاد كائن من النوع [[Ruby/Enumerator|enumerator]].
+
في حال تمرير كتلة فالقيمة المعادة ستكون كائنًا من الصنف <code>Dir</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">
+
مثال عن استخدام التابع <code>each</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}" }
+
d = Dir.new("testdir")
 
+
d.each  {|x| puts "Got #{x}" }
 
</syntaxhighlight>سينتج:<syntaxhighlight lang="ruby">
 
</syntaxhighlight>سينتج:<syntaxhighlight lang="ruby">
 
Got .
 
Got .
سطر 38: سطر 28:
  
 
== أنظر أيضًا ==
 
== أنظر أيضًا ==
* صفحة الصنف <code>[[Ruby/Dir|Dir]]</code>.
 
 
* التابع <code>[[Ruby/Dir/each child|each_child]]</code> : يستدعي التابع <code>each_child</code> الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد باستثناء "<code>..</code>" و "<code>.</code>". حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة. 
 
* التابع <code>[[Ruby/Dir/each child|each_child]]</code> : يستدعي التابع <code>each_child</code> الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد باستثناء "<code>..</code>" و "<code>.</code>". حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة. 
 +
 +
* التابع <code>[[Ruby/Dir/foreach|foreach]]</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-i-each قسم  التابع each في الصنف Dir في توثيق روبي الرسمي.]

مراجعة 10:06، 24 سبتمبر 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 : يستدعي التابع each_child الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد باستثناء ".." و ".". حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة. 
  • التابع foreach: يستدعي التابع each_child الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد باستثناء ".." و ".". حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة. 

مصادر