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

من موسوعة حسوب
< Ruby‏ | Dir
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE:  التابع <code>getwd</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>getwd</code> مسار مجلد العمل (working directory) الحالي للعملية (process) على شكل سلسلة نصية.  
 
 
في حال إعطاء كتلة برمجية، فسيُمرّر اسم المجلد الحالي الجديد، وستنفّذ الكتلة على اعتباره المجلد الحالي. سيُستعاد مجلد العمل الأصلي عند الخروج من الكتلة. وتكون القيمة المعادة للتابع <code>chdir</code> مساوية لقيمة الكتلة.
 
 
 
يمكن أن تتشعّب كتل <code>chdir</code>، ولكن في البرامج المتفرّعة (Multi-threaded) سيُطلق خطأ إذا حاول أحد المهام الفرعية (thread)  فتح كتلة <code>chdir</code> بينما نقوم مهمة فرعية أخرى بفتح آخر.
 
  
 
== البنية العامة ==
 
== البنية العامة ==
 
<syntaxhighlight lang="ruby">
 
<syntaxhighlight lang="ruby">
chdir( [ string] ) 0
+
getwd → string
chdir( [ string] ) {| path | block } → anObject
 
 
</syntaxhighlight>
 
</syntaxhighlight>
 
== المعاملات ==
 
 
=== <code>string</code> ===
 
يحتوي هذا المعامل عنوان مجلد العمل الجديد.
 
  
 
== القيمة المٌعادة ==
 
== القيمة المٌعادة ==
في حال تمرير كتلة فالقيمة المعادة للتابع <code>chdir</code> ستساوي قيمة تلك الكتلة.
+
يعيد مسار مجلد العمل الحالي للعملية على شكل سلسلة نصية.
  
 
== أمثلة ==
 
== أمثلة ==
مثال عن استخدام التابع <code>chdir</code> على المجلد <code>testdir</code> الذي يحتوي ملفين عاديين (<code>config.h</code> و <code>main.rb</code>) ، والمجلد الأب (<code>..</code>) ، والمجلد نفسه (<code>.</code>).<syntaxhighlight lang="ruby">
+
مثال عن استخدام التابع <code>getwd:</code><syntaxhighlight lang="ruby">
Dir.chdir("/var/spool/mail")
+
Dir.chdir("/tmp")   #=> 0
puts Dir.pwd
+
Dir.getwd          #=> "/tmp"
Dir.chdir("/tmp") do
+
Dir.pwd             #=> "/tmp"
  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>‎. 
+
* التابع <code>[[Ruby/Dir/chdir|chdir]]</code>: يستبدل التابع <code>chdir‎</code> مجلد العمل (working directory) الحالي للعملية ويعيّن مكانه السلسلة النصية المعطاة.
  
 
== مصادر ==
 
== مصادر ==
* [http://ruby-doc.org/core-2.5.1/Dir.html#method-c-chdir قسم  التابع chdir في الصنف Dir في توثيق روبي الرسمي.]
+
* [http://ruby-doc.org/core-2.5.1/Dir.html#method-c-getwd قسم  التابع getwd  في الصنف Dir في توثيق روبي الرسمي.]

مراجعة 12:10، 23 سبتمبر 2018

يعيد التابع getwd مسار مجلد العمل (working directory) الحالي للعملية (process) على شكل سلسلة نصية.

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

getwd  string

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

يعيد مسار مجلد العمل الحالي للعملية على شكل سلسلة نصية.

أمثلة

مثال عن استخدام التابع getwd:

Dir.chdir("/tmp")   #=> 0
Dir.getwd           #=> "/tmp"
Dir.pwd             #=> "/tmp"

أنظر أيضًا

  • صفحة الصنف Dir.
  • التابع chdir: يستبدل التابع chdir‎ مجلد العمل (working directory) الحالي للعملية ويعيّن مكانه السلسلة النصية المعطاة.

مصادر