التابع Dir.each_child في روبي

من موسوعة حسوب
< Ruby‏ | Dir
مراجعة 22:30، 10 نوفمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق.)

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

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

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

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

المعاملات

dirname

اسم المجلد المراد تنفيذ كتلة معيَّنة على كل محتوياته.

encoding

ترميز المجلد.

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

في حال أعطيت الكتلة block، فستُعاد القيمة nil بعد تنفيذ الكتلة على كل عنصر من عناصر المجلد الموجودة ضمنه وإلا فسيُعاد كائن من النوع enumerator.

أمثلة

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

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

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

Got config.h
Got main.rb

انظر أيضًا

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

مصادر