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

من موسوعة حسوب
< Ruby‏ | Dir
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:  التابع <code>chroot</code> الخاص بالصنف <code>Dir</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: R...'
 
ط مراجعة وتدقيق
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE:  التابع <code>chroot</code> الخاص بالصنف <code>Dir</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE:  التابع <code>Dir.chroot</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>chroot</code> المجلد الجذر (root) لنظام الملفات الخاص بالعملية الحالية. العمليات التي تمتلك الصلاحيات الكافية هي العمليات المُخوّلة لاستدعاء هذا التابع.   


في حال إعطاء كتلة برمجية، فسيُمرّر اسم المجلد الحالي الجديد، وستنفّذ الكتلة على اعتباره المجلد الحالي. سيُستعاد مجلد العمل الأصلي عند الخروج من الكتلة. وتكون القيمة المعادة للتابع <code>chdir</code> مساوية لقيمة الكتلة.
التابع غير متوفر على جميع أنظمة التشغيل.
 
==البنية العامة==
يمكن أن تتشعّب كتل <code>chdir</code>، ولكن في البرامج المتفرّعة (Multi-threaded) سيُطلق خطأ إذا حاول أحد المهام الفرعية (thread)  فتح كتلة <code>chdir</code> بينما نقوم مهمة فرعية أخرى بفتح آخر.
 
== البنية العامة ==
<syntaxhighlight lang="ruby">
<syntaxhighlight lang="ruby">
chdir( [ string] ) → 0
chroot( string ) → 0
chdir( [ string] ) {| path | block } → anObject
</syntaxhighlight>
</syntaxhighlight>
 
==المعاملات==
== المعاملات ==
===<code>string</code>===
 
المجلد الجذر الجديد لنظام الملفات الخاص بالعملية الحالية.
=== <code>string</code> ===
==انظر أيضًا==
يحتوي هذا المعامل عنوان مجلد العمل الجديد.
*التابع <code>[[Ruby/Dir/chdir|chdir]]‎</code>: يغيِّر مجلد العمل (working directory) الحالي للعملية الحالية إلى مجلَّدٍ محدَّدٍ .
 
==مصادر==
== القيمة المٌعادة ==
*[http://ruby-doc.org/core-2.5.1/Dir.html#method-c-chroot قسم التابع chdir في الصنف Dir في توثيق روبي الرسمي.]
في حال تمرير كتلة فالقيمة المعادة للتابع <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>
 
== أنظر أيضًا ==
* صفحة الصنف <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-chdir قسم التابع chdir في الصنف Dir في توثيق روبي الرسمي.]

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

يغير التابع chroot المجلد الجذر (root) لنظام الملفات الخاص بالعملية الحالية. العمليات التي تمتلك الصلاحيات الكافية هي العمليات المُخوّلة لاستدعاء هذا التابع.

التابع غير متوفر على جميع أنظمة التشغيل.

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

chroot( string )  0

المعاملات

string

المجلد الجذر الجديد لنظام الملفات الخاص بالعملية الحالية.

انظر أيضًا

  • التابع chdir: يغيِّر مجلد العمل (working directory) الحالي للعملية الحالية إلى مجلَّدٍ محدَّدٍ .

مصادر