الفرق بين المراجعتين لصفحة: «Ruby/Dir/chdir»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>chdir</code> الخاص بالصنف <code>Dir</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ru...' |
لا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
[[تصنيف: 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>chdir</code> مساوية لقيمة الكتلة. | |||
يمكن أن تتشعّب كتل <code>chdir</code>، ولكن في البرامج المتفرّعة (Multi-threaded) سيُطلق خطأ إذا حاول أحد المهام الفرعية (thread) فتح كتلة <code>chdir</code> بينما نقوم مهمة فرعية أخرى بفتح آخر. | |||
== البنية العامة == | == البنية العامة == | ||
<syntaxhighlight lang="ruby"> | <syntaxhighlight lang="ruby"> | ||
chdir( [ string] ) → 0 | |||
chdir( [ string] ) {| path | block } → anObject | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== المعاملات == | |||
=== <code>string</code> === | |||
يحتوي هذا المعامل عنوان مجلد العمل الجديد. | |||
== القيمة المٌعادة == | == القيمة المٌعادة == | ||
في حال تمرير كتلة فالقيمة المعادة للتابع <code>chdir</code> ستساوي قيمة تلك الكتلة. | |||
== أمثلة == | == أمثلة == | ||
أمثلة عن استخدام التابع <code> | أمثلة عن استخدام التابع <code>chdir</code>:<syntaxhighlight lang="ruby"> | ||
Dir | 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|Dir]]</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- | * [http://ruby-doc.org/core-2.5.1/Dir.html#method-c-chdir قسم التابع chdir في الصنف Dir في توثيق روبي الرسمي.] |
مراجعة 10:12، 18 سبتمبر 2018
يستبدل التابع chdir
مجلد العمل (working directory) الحالي للعملية ويعيّن مكانه السلسلة النصية المعطاة. عند استدعائه بدون تمرير وسيط، فسيغير مجلدَ العمل إلى قيمة متغير البيئة HOME
أو LOGDIR.SystemCallError
(وربما Errno::ENOENT
) إذا كان المجلد المُستهدف غير موجود.
في حال إعطاء كتلة برمجية، فسيُمرّر اسم المجلد الحالي الجديد، وستنفّذ الكتلة على اعتباره المجلد الحالي. سيُستعاد مجلد العمل الأصلي عند الخروج من الكتلة. وتكون القيمة المعادة للتابع chdir
مساوية لقيمة الكتلة.
يمكن أن تتشعّب كتل chdir
، ولكن في البرامج المتفرّعة (Multi-threaded) سيُطلق خطأ إذا حاول أحد المهام الفرعية (thread) فتح كتلة chdir
بينما نقوم مهمة فرعية أخرى بفتح آخر.
البنية العامة
chdir( [ string] ) → 0
chdir( [ string] ) {| path | block } → anObject
المعاملات
string
يحتوي هذا المعامل عنوان مجلد العمل الجديد.
القيمة المٌعادة
في حال تمرير كتلة فالقيمة المعادة للتابع chdir
ستساوي قيمة تلك الكتلة.
أمثلة
أمثلة عن استخدام التابع chdir
:
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