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

من موسوعة حسوب
< Ruby‏ | Dir
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:  التابع <code>children</code> الخاص بالصنف <code>Dir</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف:...'
 
ط مراجعة وتدقيق
 
(3 مراجعات متوسطة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:  التابع <code>children</code> الخاص بالصنف <code>Dir</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE:  التابع <code>Dir.children</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Dir]]
[[تصنيف: Ruby Dir]]
يستبدل التابع <code>chdir‎</code> مجلد العمل (working directory) الحالي للعملية ويعيّن مكانه السلسلة النصية المعطاة. عند استدعائه بدون تمرير وسيط، فسيغير مجلدَ العمل إلى قيمة متغير البيئة <code>HOME</code> أو <code>LOGDIR.SystemCallError</code> (وربما <code>Errno::ENOENT</code>) إذا كان المجلد المُستهدف غير موجود.  
يعيد التابع <code>children‎</code> مصفوفة تحوي جميع أسماء الملفات في المجلد المحدد باستثناء "<code>.</code>" و "<code>..</code>". في حالة عدم وجود المجلد المحدد، فسيُطلق الخطأ <code>SystemCallError</code>.  


في حال إعطاء كتلة برمجية، فسيُمرّر اسم المجلد الحالي الجديد، وستنفّذ الكتلة على اعتباره المجلد الحالي. سيُستعاد مجلد العمل الأصلي عند الخروج من الكتلة. وتكون القيمة المعادة للتابع <code>chdir</code> مساوية لقيمة الكتلة.  
يمكن تمرير الوسيط الاختياري <code>encoding</code> الذي يحدِّد ترميز المجلد. أمَّا إن لم يُحدّد، فسيٌستخدم ترميز نظام الملفات نفسه.
 
==البنية العامة==
يمكن أن تتشعّب كتل <code>chdir</code>، ولكن في البرامج المتفرّعة (Multi-threaded) سيُطلق خطأ إذا حاول أحد المهام الفرعية (thread)  فتح كتلة <code>chdir</code> بينما نقوم مهمة فرعية أخرى بفتح آخر.
 
== البنية العامة ==
<syntaxhighlight lang="ruby">
<syntaxhighlight lang="ruby">
chdir( [ string] ) → 0
children( dirname ) → array
chdir( [ string] ) {| path | block } anObject
children( dirname, encoding: enc ) → array
</syntaxhighlight>
</syntaxhighlight>
==المعاملات==
===<code>dirname</code>===
اسم المجلد المُحدد المراد معرفة محتواه.
===<code>encoding</code>===
ترميز المجلد. إن لم يُحدّد، فسيٌستخدم ترميز نظام الملفات.
==القيمة المعادة==
تُعاد مصفوفة تحوي جميع أسماء الملفات في المجلد <code>dirname</code> المحدَّد باستثناء "<code>.</code>" و "<code>..</code>".
==أمثلة==
مثال عن استخدام التابع <code>children</code> على المجلد <code>testdir</code> الذي يحتوي ملفين عاديين (<code>config.h</code> و <code>main.rb</code>)، والمجلد الأب (<code>..</code>)، والمجلد نفسه (<code>.</code>):<syntaxhighlight lang="ruby">
Dir.children("testdir")  #=> ["config.h", "main.rb"]


== المعاملات ==
=== <code>string</code> ===
يحتوي هذا المعامل عنوان مجلد العمل الجديد.
== القيمة المٌعادة ==
في حال تمرير كتلة فالقيمة المعادة للتابع <code>chdir</code> ستساوي قيمة تلك الكتلة.
== أمثلة ==
أمثلة عن استخدام التابع <code>chdir‎</code>:<syntaxhighlight lang="ruby">
Dir.chdir("/var/spool/mail")
puts Dir.pwd
Dir.chdir("/tmp") do
  puts Dir.pwd
  Dir.chdir("/usr") do
    puts Dir.pwd
  end
  puts Dir.pwd
end
puts Dir.pwd
</syntaxhighlight>
</syntaxhighlight>
 
==انظر أيضًا==
== أنظر أيضًا ==
*التابع <code>[[Ruby/Dir/entries|entries]]</code>: يعيد مصفوفة تحتوي جميع أسماء الملفات الموجودة في المجلد المحدد. في حال عدم وجود المجلد المحدَّد، فسيُطلق الخطأ <code>SystemCallError</code>.
* صفحة الصنف <code>[[Ruby/Dir|Dir]]</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-children قسم التابع children في الصنف Dir في توثيق روبي الرسمي.]
 
== مصادر ==
* [http://ruby-doc.org/core-2.5.1/Dir.html#method-c-chdir قسم التابع chdir في الصنف Dir في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 22:30، 10 نوفمبر 2018

يعيد التابع children‎ مصفوفة تحوي جميع أسماء الملفات في المجلد المحدد باستثناء "." و "..". في حالة عدم وجود المجلد المحدد، فسيُطلق الخطأ SystemCallError.

يمكن تمرير الوسيط الاختياري encoding الذي يحدِّد ترميز المجلد. أمَّا إن لم يُحدّد، فسيٌستخدم ترميز نظام الملفات نفسه.

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

children( dirname )  array 
children( dirname, encoding: enc )  array

المعاملات

dirname

اسم المجلد المُحدد المراد معرفة محتواه.

encoding

ترميز المجلد. إن لم يُحدّد، فسيٌستخدم ترميز نظام الملفات.

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

تُعاد مصفوفة تحوي جميع أسماء الملفات في المجلد dirname المحدَّد باستثناء "." و "..".

أمثلة

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

Dir.children("testdir")   #=> ["config.h", "main.rb"]

انظر أيضًا

  • التابع entries: يعيد مصفوفة تحتوي جميع أسماء الملفات الموجودة في المجلد المحدد. في حال عدم وجود المجلد المحدَّد، فسيُطلق الخطأ SystemCallError.

مصادر