الفرق بين المراجعتين لصفحة: «Ruby/File/expand path»
جميل-بيلوني (نقاش | مساهمات) إنشاء الصفحة. |
جميل-بيلوني (نقاش | مساهمات) إضافة شرح |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code>File.expand_path</code> في روبي}}</noinclude> | <noinclude>{{DISPLAYTITLE: التابع <code>File.expand_path</code> في روبي}}</noinclude> | ||
يحول التابع <code>expand_path</code> مسار ملفٍ ما إلى مسار مطلق مع توسيع الرمز <code>~</code> إن وجد في المسار المعطى. ستستعمل المسارات النسبية مرجعًا إلى مجلد العمل الحالي للعملية إلا إذا أعطي اسم مجلد أو مسار ليُستعمَل نقطةً للإنطلاق وتحديد المسار المطلق. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">expand_path(file_name [, dir_string] ) → abs_file_name | <syntaxhighlight lang="ruby">expand_path(file_name [, dir_string] ) → abs_file_name | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== المعاملات == | |||
=== <code>file_name</code> === | |||
اسم المسار المراد تحويله إلى مسار مطلق. يمكن لهذا المسار أن يبدأ بالرمز <code>~</code> والذي يوسَّع إلى مجلد المنزل للمستخدم المالك للعملية (يجب أن يكون متغير البيئة <code>HOME</code> مضبوطًا بشكل صحيح). فيوسَّع <code>user~</code> مثلًا إلى المجلد المنزل للمستخدم المالك للعملية. | |||
=== <code>dir_string</code> === | |||
المجلد أو المسار الذي سيؤخذ بالحسبان ويعد نقطة بدايةٍ للمسار المطلق المراد حسابه. إن لم يُعطَ هذا المعامل، فستُستعمَل المسارات النسبية مرجعًا إلى مجلد العمل الحالي للعملية. | |||
==القيمة المعادة== | ==القيمة المعادة== | ||
يعاد | يعاد المسار المطلق الناتج عن تحويل المسار <code>file_name</code>. | ||
==أمثلة== | ==أمثلة== | ||
مثال على استعمال التابع <code>expand_path</code>: | مثال بسيط على استعمال التابع <code>expand_path</code>:<syntaxhighlight lang="ruby"> | ||
File.expand_path("~oracle/bin") #=> "/home/oracle/bin" | |||
</syntaxhighlight>مثال على استعمال التابع <code>expand_path</code> مع تمرير المعامل <code>dir_string</code> إليه:<syntaxhighlight lang="ruby"> | |||
File.expand_path("ruby", "/usr/bin") #=> "/usr/bin/ruby" | |||
</syntaxhighlight>المثال التالي هو مثال معقَّد يُستبيَن فيه أيضًا المجلد الأب بالشكل التالي (افترض أنَّنا حاليًّا في المجلد bin/mygem ونريد المسار المطلق للملف lib/mygem.rb):<syntaxhighlight lang="ruby"> | |||
File.expand_path("../../lib/mygem.rb", __FILE__) | |||
#=> ".../path/to/project/lib/mygem.rb" | |||
</syntaxhighlight>يُستبيَن أولًا في هذا المثال المجلد الأب للملف <code>__FILE__</code>، الذي هو bin/، ثم ينتقل إلى المجلد الأب له، الذي هو المجلد الجذر للمشروع، ثم يضيف بعد ذلك lib/mygem.rb. | |||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/File/absolute path|absolute_path]]</code>: يحول اسم مسار محدَّد إلى مسار مطلق. | |||
* التابع <code>[[Ruby/File/basename|basename]]</code>: يعيد آخر مكوِّن من مسار اسم الملف المعطى. | |||
* التابع <code>[[Ruby/File/extname|extname]]</code>: يعيد لاحقة الملف المعطى. لاحقة الملف هي جزء من اسمه وتتوضع في مساره بعد آخر نقطة فيه. | |||
==مصادر== | ==مصادر== |
المراجعة الحالية بتاريخ 11:53، 28 نوفمبر 2018
يحول التابع expand_path
مسار ملفٍ ما إلى مسار مطلق مع توسيع الرمز ~
إن وجد في المسار المعطى. ستستعمل المسارات النسبية مرجعًا إلى مجلد العمل الحالي للعملية إلا إذا أعطي اسم مجلد أو مسار ليُستعمَل نقطةً للإنطلاق وتحديد المسار المطلق.
البنية العامة
expand_path(file_name [, dir_string] ) → abs_file_name
المعاملات
file_name
اسم المسار المراد تحويله إلى مسار مطلق. يمكن لهذا المسار أن يبدأ بالرمز ~
والذي يوسَّع إلى مجلد المنزل للمستخدم المالك للعملية (يجب أن يكون متغير البيئة HOME
مضبوطًا بشكل صحيح). فيوسَّع user~
مثلًا إلى المجلد المنزل للمستخدم المالك للعملية.
dir_string
المجلد أو المسار الذي سيؤخذ بالحسبان ويعد نقطة بدايةٍ للمسار المطلق المراد حسابه. إن لم يُعطَ هذا المعامل، فستُستعمَل المسارات النسبية مرجعًا إلى مجلد العمل الحالي للعملية.
القيمة المعادة
يعاد المسار المطلق الناتج عن تحويل المسار file_name
.
أمثلة
مثال بسيط على استعمال التابع expand_path
:
File.expand_path("~oracle/bin") #=> "/home/oracle/bin"
مثال على استعمال التابع expand_path
مع تمرير المعامل dir_string
إليه:
File.expand_path("ruby", "/usr/bin") #=> "/usr/bin/ruby"
المثال التالي هو مثال معقَّد يُستبيَن فيه أيضًا المجلد الأب بالشكل التالي (افترض أنَّنا حاليًّا في المجلد bin/mygem ونريد المسار المطلق للملف lib/mygem.rb):
File.expand_path("../../lib/mygem.rb", __FILE__)
#=> ".../path/to/project/lib/mygem.rb"
يُستبيَن أولًا في هذا المثال المجلد الأب للملف __FILE__
، الذي هو bin/، ثم ينتقل إلى المجلد الأب له، الذي هو المجلد الجذر للمشروع، ثم يضيف بعد ذلك lib/mygem.rb.
انظر أيضا
- التابع
absolute_path
: يحول اسم مسار محدَّد إلى مسار مطلق. - التابع
basename
: يعيد آخر مكوِّن من مسار اسم الملف المعطى. - التابع
extname
: يعيد لاحقة الملف المعطى. لاحقة الملف هي جزء من اسمه وتتوضع في مساره بعد آخر نقطة فيه.