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

من موسوعة حسوب
لا ملخص تعديل
طلا ملخص تعديل
 
(6 مراجعات متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: صفحة الصنف <code>Dir</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE: الصنف <code>Dir</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: Ruby Class]]
[[تصنيف: Ruby Dir]]
[[تصنيف: Ruby Dir]]
كائنات الصنف<code>Dir</code> هي مجريات مجلدات (directory streams) في نظام الملفات الأساسي. فهي توفر مجموعة متنوعة من الطرق لعرض المجلدات ومحتوياتها. انظر أيضًا صفحة [[Ruby/File|File]].  
كائنات الصنف <code>Dir</code> هي مجاري مجلدات (directory streams) تمثِّل الجلدات في نظام الملفات الأساسي لنظام التشغيل. فهي توفر طرائق متعددة لعرض المجلدات ومحتوياتها. انظر أيضًا صفحة الصنف [[Ruby/File|<code>File</code>]] لمزيد من المعلومات.  


يحتوي المجلد المستخدم في الأمثلة الموجودة في صفحات التوابع ملفين عاديين (<code>config.h</code> و <code>main.rb</code>) ، والمجلد الأب (<code>..</code>) ، والمجلد نفسه (<code>.</code>).
يحوي المجلد المستخدم في الأمثلة الموجودة في صفحات التوابع ملفين عاديين هما: <code>config.h</code> و <code>main.rb</code>، بالإضافة إلى المجلد الأب (<code>..</code>) ، والمجلد نفسه (<code>.</code>).
==توابع الصنف العامة (Public Class Methods)==
==توابع الصنف العامة (Public Class Methods)==
 
===المعامل <code rel="mw:WikiLink" title="Ruby/Dir/5B-5D" href="Ruby/Dir/5B-5D">[[Ruby/Dir/5B-5D|[]]]</code>===
=== [[Ruby/Dir/5B-5D|التابع []]] ===
يكافئ استدعاء <code>Dir.glob([string,...], 0)</code>‎. 
يكافئ التابع <code>Dir[]‎</code> استدعاء <code>Dir.glob([string,...], 0)</code>‎. 
===[[Ruby/Dir/chdir|<code>chdir‎</code>]]===
 
يغيِّر مجلد العمل (working directory) الحالي للعملية الحالية إلى مجلَّدٍ محدَّدٍ.
=== [[Ruby/Dir/chdir|التابع <code>chdir‎</code>]] ===
===[[Ruby/Dir/children|<code>children</code>]]===
يستبدل التابع <code>chdir‎</code> مجلد العمل (working directory) الحالي للعملية ويعيّن مكانه السلسلة النصية المعطاة.  
يعيد مصفوفة تحوي جميع أسماء الملفات في المجلد المحدد باستثناء "<code>.</code>" و "<code>..</code>".
 
===[[Ruby/Dir/chroot|<code>chroot</code>]]===
=== [[Ruby/Dir/children|التابع children]] ===
يغير المجلد الجذر (root) لنظام الملفات الخاص بالعملية الحالية.
يعيد التابع <code>children‎</code> مصفوفة تحتوي جميع أسماء الملفات في المجلد المحدد باستثناء "<code>.</code>" و "<code>..</code>". في حالة عدم وجود المجلد المحدد، فسيُطلق الخطأ<code>SystemCallError</code>.
===[[Ruby/Dir/each child|<code>each_child</code>]]===
 
يستدعي الكتلة المعطاة على كل ملف أو مجلد موجود في المجلد المحدد باستثناء "<code>..</code>" و "<code>.</code>" إذ يمُمرّر أسماء تلك الملفات كوسائط إلى الكتلة.
=== [[Ruby/Dir/chroot|التابع chroot]] ===
===[[Ruby/Dir/delete|<code>delete</code>]]===
يغير التابع <code>chroot</code>  جذر (root) نظام الملفات الخاص بالعملية (process). فقط العمليات ذات الامتياز  (privileged process) مُخوّلة لاستدعاء هذا التابع.  
يحذف مجلدًا محدَّدًا.
 
===[[Ruby/Dir/empty|<code>?empty</code>]]===
=== [[Ruby/Dir/delete|التابع delete]] ===
يتحقق فيما إذا كان المجلد المعطى فارغًا.
يمحو التابع <code>delete‎</code> المجلد المحدد، سيُطلق خطأ من صنف فرعي (subclass) من <code>SystemCallError</code>  في حال لم يكن المجلد موجودًا. 
===[[Ruby/Dir/entries|<code>entries</code>]]===
 
يتحقق فيما إذا كان الملف المعطى مجلدًا.
=== [[Ruby/Dir/each child|التابع each_child]] ===
===[[Ruby/Dir/exist|<code>?exist</code>]]===
يستدعي التابع <code>each_child</code> الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد، باستثناء "<code>..</code>" و "<code>.</code>". حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة. 
يتحقق مما إذا كان الملف المعطى مجلدًا. 
 
===[[Ruby/Dir/exists|<code>exists</code>]]===
=== [[Ruby/Dir/delete|التابع delete]] ===
أصبح مهملًا، لذا لا تستخدمه بعد الآن. استعمل التابع <code>[[Ruby/Dir/exist|?exist]]</code> عوضًا عنه.
يمحو التابع <code>delete‎</code> المجلد المحدد، سيُطلق خطأ من صنف فرعي (subclass) من <code>SystemCallError</code>  في حال لم يكن المجلد موجودًا.
===[[Ruby/Dir/foreach|<code>foreach</code>]]===
 
يستدعي الكتلة المعطاة على كل ملف من الملفات الموجودة في المجلد المحدد، إذ يمُمرّر أسماء تلك الملفات كوسائط للكتلة.
=== [[Ruby/Dir/empty|التابع ?empty]] ===
===[[Ruby/Dir/getwd|<code>getwd</code>]]===
يتحقق التابع <code>?empty</code> مما إذا كان المجلد المعطى فارغًا. 
يعيد مسار مجلد العمل (working directory) الحالي للعملية الحالية.
 
===[[Ruby/Dir/glob|<code>glob</code>]]===
=== [[Ruby/Dir/entries|التابع entries]] ===
يوسّع الوسيطَ <code>pattern</code> الممرّر (انظر فقرة البنية العامة)، الذي هو سلسلة نصية نمطية (pattern string) أو مصفوفة من السلاسل النصية النمطية، ويعيد مصفوفة تحتوي أسماء الملفات المُطابقة لذلك النمط.
يعيد التابع <code>entries‎</code> مصفوفة تحتوي جميع أسماء الملفات الموجودة في المجلد المحدد. في حال عدم وجود المجلد المحدد، فسيُطلق الخطأ <code>SystemCallError</code>. 
===[[Ruby/Dir/home|<code>home</code>]]===
 
يعيد المجلد الرئيسي (home directory) للمستخدم الحالي أو للمستخدم المعطى في حال إعطائه.
=== [[Ruby/Dir/exist|التابع ?exist]] ===
===[[Ruby/Dir/mkdir|<code>mkdir</code>]]===
يتحقق التابع <code>?exist</code> مما إذا كان الملف المعطى مجلدًا. 
ينشئ مجلدًا جديدًا باسم محدَّد، مع تحديد أذوناته أيضًا.
 
===[[Ruby/Dir/new|<code>new</code>]]===
=== [[Ruby/Dir/exists|التابع exists]] ===
يعيد كائنًا مجلديًا (directory object) جديدًا خاصًا بالمجلد المعطى.
هذا التابع صار متجاوزا، لا تستخدمه. انظر التابع <code>[[Ruby/Dir/exist|?exist]]</code>. 
===[[Ruby/Dir/open|<code>open</code>]]===
 
يفتح مجلدًا محدَّدًا ثمَّ يعيد كائنًا يشير إليه. 
=== [[Ruby/Dir/foreach|التابع foreach]] ===
===[[Ruby/Dir/pwd|<code>pwd</code>]]===
يستدعي التابع <code>foreach</code> الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد. حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة. 
يعيد مسار مجلد العمل (working directory) الحالي للعملية.
 
===[[Ruby/Dir/rmdir|<code>rmdir</code>]]===
=== [[Ruby/Dir/getwd|التابع getwd]] ===
يحذف مجلدًا محدَّدًا.
يعيد التابع <code>getwd</code> مسار مجلد العمل (working directory) الحالي للعملية (process) على شكل سلسلة نصية.
===[[Ruby/Dir/unlink|<code>unlink</code>]]===
 
يحذف مجلدًا محدَّدًا.
=== [[Ruby/Dir/glob|التابع glob]] ===
==توابع الكائن العامة (Public Instance Methods)==
يوسّع التابع <code>glob</code>  الوسيط الممرّر <code>pattern</code>، والذي هو عبارة عن سلسلة نصية نمطية (pattern string) أو مصفوفة من السلاسل النصية النمطية، ويعيد مصفوفة تحتوي أسماء الملفات المتطابقة لذلك النمط.
===[[Ruby/Dir/close|<code>close</code>]]===
 
يغلق التابع <code>close</code> مجرى مجلد محدَّدٍ.
=== [[Ruby/Dir/home|التابع home]] ===
===[[Ruby/Dir/each|<code>each</code>]]===
يعيد التابع <code>home</code> المجلد الرئيسي (home directory) للمستخدم الحالي أو للمستخدم المعطى في حال إعطائه. 
يستدعي الكتلة المعطاة على كل ملف من الملفات الموجودة في مجلد محدَّد، إذ تمُمرّر أسماء تلك الملفات كوسائط للكتلة.
 
===[[Ruby/Dir/fileno|<code>fileno</code>]]===
=== [[Ruby/Dir/mkdir|التابع mkdir]] ===
يعيد عددًا صحيحًا يمثل واصف الملف العددي (numeric file descriptor) المُستخدم في الكائن <code>Dir</code> الذي استُدعي معه.
ينشئ التابع <code>mkdir</code> مجلدًا جديدًا.
===[[Ruby/Dir/inspect|<code>inspect</code>]]===
 
يعيد سلسلة نصية تصف الكائن <code>Dir</code> الذي استُدعي معه.
=== [[Ruby/Dir/new|التابع new]] ===
===[[Ruby/Dir/path|<code>path</code>]]===
يعيد التابع <code>new</code> كائنًا مجلديًا (directory object) جديدًا خاصًا بالمجلد المعطى. 
يعيد المسار المُمرّر إلى الباني <code>[[Ruby/Dir/new|new]]</code> عند إنشائه للكائن <code>Dir</code> المعطى.
 
===[[Ruby/Dir/pos|<code>pos</code>]]===
=== [[Ruby/Dir/open|التابع open]] ===
يعيد موضع المؤشر الحالي في المجلد الذي استٌدعي معه.
في حال عدم إعطاء كتلة، فإنّ التابع <code>open</code> هو مرادف لـ <code>Dir::new</code>. وفي حالة إعطاء كتلة، فسيُمرّر إليها <code>aDir</code>كمعامل.
===[[Ruby/Dir/seek|<code>seek</code>]]===
 
يذهب التابع <code>seek</code> إلى موضع محدد في المجلد الذي استٌدعي معه.
=== [[Ruby/Dir/pwd|التابع pwd]] ===
===[[Ruby/Dir/pos-3D|<code>pos = integer‎</code>]]===
يعيد التابع <code>pwd</code> مسار مجلد العمل (working directory) الحالي للعملية (process) على شكل سلسلة نصية. 
يحدِّد التابع <code>pos</code> عند استدعائه بالشكل <code>pos = integer‎</code> موضع المؤشر الحالي في المجلد.
 
===[[Ruby/Dir/read|<code>read</code>]]===
=== [[Ruby/Dir/rmdir|التابع rmdir]] ===
يقرأ التابع <code>read</code> المدخلة التالية في المجلد الذي استُدعي معه ثم يعيده في سلسلة نصية.
يمحو التابع <code>rmdir‎</code> المجلد المحدد، سيُطلق خطأ من صنف فرعي (subclass) من <code>SystemCallError</code>  في حال لم يكن المجلد فارغًا .
===[[Ruby/Dir/rewind|<code>rewind</code>]]===
 
يعيد التابع <code>rewind</code> ضبط موضع المؤشر الحالي في المجلد إلى بدايته.
=== [[Ruby/Dir/unlink|التابع unlink]] ===
===[[Ruby/Dir/tell|<code>tell</code>]]===
يمحو التابع <code>unlink‎</code> المجلد المحدد، سيُطلق خطأ من صنف فرعي (subclass) من <code>SystemCallError</code>  في حال لم يكن المجلد فارغًا.
يعيد التابع <code>tell</code> الموضع الحالي في المجلد الذي استٌدعي معه. انظر أيضًا التابع <code>[[uby/Dir/seek|seek]]</code>.
 
===[[Ruby/Dir/to path|<code>to_path</code>]]===
توابع الكائن العامة (Public Instance Methods)
يعيد المسار المُمرّر إلى الباني <code>[[Ruby/Dir/new|new]]</code> عند إنشائه للكائن <code>Dir</code> المعطى.
 
=== [[Ruby/Dir/close|التابع close]] ===
يغلق التابع <code>close</code> مجرى المجلد (directory stream)، استدعاء هذا التابع على على كائن <code>Dir</code> مغلق صار يُتجاهل منذ روبي 2.3. 
 
=== [[Ruby/Dir/each|التابع each]] ===
يستدعي التابع <code>each</code> الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد. حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة. 
 
=== [[Ruby/Dir/fileno|التابع fileno]] ===
يعيد التابع <code>fileno</code> عددًا صحيحًا يمثل واصف الملف العددي (numeric file descriptor) المُستخدم في الكائن من صنف <code>Dir</code> الذي استُدعي معه.
 
=== [[Ruby/Dir/inspect|التابع inspect]] ===
يعيد التابع <code>inspect</code> سلسلة نصية تصف الكائن (من صنف <code>Dir</code>) الذي استُدعي معه.
 
=== [[Ruby/Dir/path|التابع path]] ===
يعيد التابع <code>path</code> المسار المُمرّر  إلى الباني <code>[[Ruby/Dir/new|new]]</code> على شكل سلسلة نصية. 
 
=== [[Ruby/Dir/rmdir|التابع pos]] ===
يعيد التابع <code>pos</code> الموضع الحالي في الكائن من صنف <code>Dir</code> الذي استٌدعي معه. أنظر أيضًا التابع <code>[[uby/Dir/seek|seek]]</code>. 
 
=== [[Ruby/Dir/seek|التابع seek]] ===
يذهب التابع <code>seek</code> إلى موضع محدد في الكائن من صنف <code>Dir</code> الذي استٌدعي معه.
 
==مصادر<span> </span>==
==مصادر<span> </span>==
*[http://ruby-doc.org/core-2.5.1/Dir.html قسم الصنف Dir في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/Dir.html قسم الصنف Dir في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 10:59، 4 ديسمبر 2018

كائنات الصنف Dir هي مجاري مجلدات (directory streams) تمثِّل الجلدات في نظام الملفات الأساسي لنظام التشغيل. فهي توفر طرائق متعددة لعرض المجلدات ومحتوياتها. انظر أيضًا صفحة الصنف File لمزيد من المعلومات.

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

توابع الصنف العامة (Public Class Methods)

المعامل []

يكافئ استدعاء Dir.glob([string,...], 0)‎. 

chdir‎

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

children

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

chroot

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

each_child

يستدعي الكتلة المعطاة على كل ملف أو مجلد موجود في المجلد المحدد باستثناء ".." و "." إذ يمُمرّر أسماء تلك الملفات كوسائط إلى الكتلة.

delete

يحذف مجلدًا محدَّدًا.

?empty

يتحقق فيما إذا كان المجلد المعطى فارغًا.

entries

يتحقق فيما إذا كان الملف المعطى مجلدًا.

?exist

يتحقق مما إذا كان الملف المعطى مجلدًا. 

exists

أصبح مهملًا، لذا لا تستخدمه بعد الآن. استعمل التابع ?exist عوضًا عنه.

foreach

يستدعي الكتلة المعطاة على كل ملف من الملفات الموجودة في المجلد المحدد، إذ يمُمرّر أسماء تلك الملفات كوسائط للكتلة.

getwd

يعيد مسار مجلد العمل (working directory) الحالي للعملية الحالية.

glob

يوسّع الوسيطَ pattern الممرّر (انظر فقرة البنية العامة)، الذي هو سلسلة نصية نمطية (pattern string) أو مصفوفة من السلاسل النصية النمطية، ويعيد مصفوفة تحتوي أسماء الملفات المُطابقة لذلك النمط.

home

يعيد المجلد الرئيسي (home directory) للمستخدم الحالي أو للمستخدم المعطى في حال إعطائه.

mkdir

ينشئ مجلدًا جديدًا باسم محدَّد، مع تحديد أذوناته أيضًا.

new

يعيد كائنًا مجلديًا (directory object) جديدًا خاصًا بالمجلد المعطى.

open

يفتح مجلدًا محدَّدًا ثمَّ يعيد كائنًا يشير إليه. 

pwd

يعيد مسار مجلد العمل (working directory) الحالي للعملية.

rmdir

يحذف مجلدًا محدَّدًا.

unlink

يحذف مجلدًا محدَّدًا.

توابع الكائن العامة (Public Instance Methods)

close

يغلق التابع close مجرى مجلد محدَّدٍ.

each

يستدعي الكتلة المعطاة على كل ملف من الملفات الموجودة في مجلد محدَّد، إذ تمُمرّر أسماء تلك الملفات كوسائط للكتلة.

fileno

يعيد عددًا صحيحًا يمثل واصف الملف العددي (numeric file descriptor) المُستخدم في الكائن Dir الذي استُدعي معه.

inspect

يعيد سلسلة نصية تصف الكائن Dir الذي استُدعي معه.

path

يعيد المسار المُمرّر إلى الباني new عند إنشائه للكائن Dir المعطى.

pos

يعيد موضع المؤشر الحالي في المجلد الذي استٌدعي معه.

seek

يذهب التابع seek إلى موضع محدد في المجلد الذي استٌدعي معه.

pos = integer‎

يحدِّد التابع pos عند استدعائه بالشكل pos = integer‎ موضع المؤشر الحالي في المجلد.

read

يقرأ التابع read المدخلة التالية في المجلد الذي استُدعي معه ثم يعيده في سلسلة نصية.

rewind

يعيد التابع rewind ضبط موضع المؤشر الحالي في المجلد إلى بدايته.

tell

يعيد التابع tell الموضع الحالي في المجلد الذي استٌدعي معه. انظر أيضًا التابع seek.

to_path

يعيد المسار المُمرّر إلى الباني new عند إنشائه للكائن Dir المعطى.

مصادر