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

من موسوعة حسوب
لا ملخص تعديل
لا ملخص تعديل
سطر 2: سطر 2:
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: 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" href="Ruby/Dir/5B-5D" title="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|التابع mkdir]]===
يتحقق التابع <code>?exist</code> مما إذا كان الملف المعطى مجلدًا. 
 
=== [[Ruby/Dir/exists|التابع exists]] ===
هذا التابع صار متجاوزا، لا تستخدمه. انظر التابع <code>[[Ruby/Dir/exist|?exist]]</code>. 
 
=== [[Ruby/Dir/foreach|التابع foreach]] ===
يستدعي التابع <code>foreach</code> الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد. حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة. 
 
=== [[Ruby/Dir/getwd|التابع getwd]] ===
يعيد التابع <code>getwd</code> مسار مجلد العمل (working directory) الحالي للعملية (process) على شكل سلسلة نصية.
 
=== [[Ruby/Dir/glob|التابع glob]] ===
يوسّع التابع <code>glob</code>  الوسيط الممرّر <code>pattern</code>، والذي هو عبارة عن سلسلة نصية نمطية (pattern string) أو مصفوفة من السلاسل النصية النمطية، ويعيد مصفوفة تحتوي أسماء الملفات المتطابقة لذلك النمط.
 
=== [[Ruby/Dir/home|التابع home]] ===
يعيد التابع <code>home</code> المجلد الرئيسي (home directory) للمستخدم الحالي أو للمستخدم المعطى في حال إعطائه. 
 
=== [[Ruby/Dir/mkdir|التابع mkdir]] ===
ينشئ التابع <code>mkdir</code> مجلدًا جديدًا.
ينشئ التابع <code>mkdir</code> مجلدًا جديدًا.
 
===[[Ruby/Dir/new|التابع new]]===
=== [[Ruby/Dir/new|التابع new]] ===
يعيد التابع <code>new</code> كائنًا مجلديًا (directory object) جديدًا خاصًا بالمجلد المعطى. 
يعيد التابع <code>new</code> كائنًا مجلديًا (directory object) جديدًا خاصًا بالمجلد المعطى. 
 
===[[Ruby/Dir/open|التابع open]]===
=== [[Ruby/Dir/open|التابع open]] ===
في حال عدم إعطاء كتلة، فإنّ التابع <code>open</code> هو مرادف لـ <code>Dir::new</code>. وفي حالة إعطاء كتلة، فسيُمرّر إليها <code>aDir</code>كمعامل.
في حال عدم إعطاء كتلة، فإنّ التابع <code>open</code> هو مرادف لـ <code>Dir::new</code>. وفي حالة إعطاء كتلة، فسيُمرّر إليها <code>aDir</code>كمعامل.  
===[[Ruby/Dir/pwd|التابع pwd]]===
 
=== [[Ruby/Dir/pwd|التابع pwd]] ===
يعيد التابع <code>pwd</code> مسار مجلد العمل (working directory) الحالي للعملية (process) على شكل سلسلة نصية. 
يعيد التابع <code>pwd</code> مسار مجلد العمل (working directory) الحالي للعملية (process) على شكل سلسلة نصية. 
 
===[[Ruby/Dir/rmdir|التابع rmdir]]===
=== [[Ruby/Dir/rmdir|التابع rmdir]] ===
يمحو التابع <code>rmdir‎</code> المجلد المحدد، سيُطلق خطأ من صنف فرعي (subclass) من <code>SystemCallError</code>  في حال لم يكن المجلد فارغًا .
يمحو التابع <code>rmdir‎</code> المجلد المحدد، سيُطلق خطأ من صنف فرعي (subclass) من <code>SystemCallError</code>  في حال لم يكن المجلد فارغًا .
 
===[[Ruby/Dir/unlink|التابع unlink]]===
=== [[Ruby/Dir/unlink|التابع unlink]] ===
يمحو التابع <code>unlink‎</code> المجلد المحدد، سيُطلق خطأ من صنف فرعي (subclass) من <code>SystemCallError</code>  في حال لم يكن المجلد فارغًا.
يمحو التابع <code>unlink‎</code> المجلد المحدد، سيُطلق خطأ من صنف فرعي (subclass) من <code>SystemCallError</code>  في حال لم يكن المجلد فارغًا.
 
==توابع الكائن العامة (Public Instance Methods)==
== توابع الكائن العامة (Public Instance Methods) ==
===[[Ruby/Dir/close|التابع close]]===
 
=== [[Ruby/Dir/close|التابع close]] ===
يغلق التابع <code>close</code> مجرى المجلد (directory stream)، استدعاء هذا التابع على على كائن <code>Dir</code> مغلق صار يُتجاهل منذ روبي 2.3. 
يغلق التابع <code>close</code> مجرى المجلد (directory stream)، استدعاء هذا التابع على على كائن <code>Dir</code> مغلق صار يُتجاهل منذ روبي 2.3. 
 
===[[Ruby/Dir/each|التابع each]]===
=== [[Ruby/Dir/each|التابع each]] ===
يستدعي التابع <code>each</code> الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد. حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة. 
يستدعي التابع <code>each</code> الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد. حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة. 
 
===[[Ruby/Dir/fileno|التابع fileno]]===
=== [[Ruby/Dir/fileno|التابع fileno]] ===
يعيد التابع <code>fileno</code> عددًا صحيحًا يمثل واصف الملف العددي (numeric  file descriptor) المُستخدم في الكائن من صنف <code>Dir</code> الذي استُدعي معه.
يعيد التابع <code>fileno</code> عددًا صحيحًا يمثل واصف الملف العددي (numeric  file descriptor) المُستخدم في الكائن من صنف <code>Dir</code> الذي استُدعي معه.
 
===[[Ruby/Dir/inspect|التابع inspect]]===
=== [[Ruby/Dir/inspect|التابع inspect]] ===
يعيد التابع <code>inspect</code> سلسلة نصية تصف الكائن (من صنف <code>Dir</code>) الذي استُدعي معه.
يعيد التابع <code>inspect</code> سلسلة نصية تصف الكائن (من صنف <code>Dir</code>) الذي استُدعي معه.
 
===[[Ruby/Dir/path|التابع path]]===
=== [[Ruby/Dir/path|التابع path]] ===
يعيد التابع <code>path</code> المسار المُمرّر  إلى الباني <code>[[Ruby/Dir/new|new]]</code> على شكل سلسلة نصية. 
يعيد التابع <code>path</code> المسار المُمرّر  إلى الباني <code>[[Ruby/Dir/new|new]]</code> على شكل سلسلة نصية. 
 
===[[Ruby/Dir/rmdir|التابع pos]]===
=== [[Ruby/Dir/rmdir|التابع pos]] ===
يعيد التابع <code>pos</code> الموضع الحالي في الكائن من صنف <code>Dir</code>  الذي استٌدعي معه. أنظر أيضًا التابع <code>[[uby/Dir/seek|seek]]</code>. 
يعيد التابع <code>pos</code> الموضع الحالي في الكائن من صنف <code>Dir</code>  الذي استٌدعي معه. أنظر أيضًا التابع <code>[[uby/Dir/seek|seek]]</code>. 
 
===[[Ruby/Dir/seek|التابع seek]]===
=== [[Ruby/Dir/seek|التابع seek]] ===
يذهب التابع <code>seek</code> إلى موضع محدد في الكائن من صنف <code>Dir</code> الذي استٌدعي معه.
يذهب التابع <code>seek</code> إلى موضع محدد في الكائن من صنف <code>Dir</code> الذي استٌدعي معه.
 
===[[Ruby/Dir/pos-3D|التعبير <code>pos =‎</code>]]===
=== [[Ruby/Dir/pos-3D|التعبير <code>pos =‎</code>]] ===
التعبير <code>pos =‎</code>  هو مرادف للتابع <code>[[uby/Dir/seek|seek]]</code>. بيد أنّه يعيد معامل الموضع (position parameter). 
التعبير <code>pos =‎</code>  هو مرادف للتابع <code>[[uby/Dir/seek|seek]]</code>. بيد أنّه يعيد معامل الموضع (position parameter). 
 
===[[Ruby/Dir/read|التابع read]]===
=== [[Ruby/Dir/read|التابع read]] ===
يقرأ التابع <code>read</code> المدخل الموالي في الكائن المجلدي (''dir'' object) الذي استُدعي معه ثم يعيده على شكل سلسلة نصية. وفي نهاية المجرى يعيد القيمة<code>nil</code> .
يقرأ التابع <code>read</code> المدخل الموالي في الكائن المجلدي (''dir'' object) الذي استُدعي معه ثم يعيده على شكل سلسلة نصية. وفي نهاية المجرى يعيد القيمة<code>nil</code> .
 
===[[Ruby/Dir/rewind|التابع rewind]]===
=== [[Ruby/Dir/rewind|التابع rewind]] ===
يعيد التابع <code>rewind</code> الموضع الراهن عند المدخل الأول.
يعيد التابع <code>rewind</code> الموضع الراهن عند المدخل الأول.
 
===[[Ruby/Dir/tell|التابع tell]]===
=== [[Ruby/Dir/tell|التابع tell]] ===
يعيد التابع <code>tell</code> الموضع الحالي في الكائن من صنف <code>Dir</code> الذي استٌدعي معه. أنظر أيضًا التابع <code>[[uby/Dir/seek|seek]]</code>.
يعيد التابع <code>tell</code> الموضع الحالي في الكائن من صنف <code>Dir</code> الذي استٌدعي معه. أنظر أيضًا التابع <code>[[uby/Dir/seek|seek]]</code>.
 
===[[Ruby/Dir/to path|التابع to_path]]===
=== [[Ruby/Dir/to path|التابع to_path]] ===
يعيد التابع <code>to_path</code> المسار المُمرّر  (في الوسيط <code>path</code>)  إلى الباني <code>[[Ruby/Dir/new|new]]</code> على شكل سلسلة نصية. 
يعيد التابع <code>to_path</code> المسار المُمرّر  (في الوسيط <code>path</code>)  إلى الباني <code>[[Ruby/Dir/new|new]]</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 في توثيق روبي الرسمي.]

مراجعة 23:44، 10 نوفمبر 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

ينشئ التابع mkdir مجلدًا جديدًا.

التابع new

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

التابع open

في حال عدم إعطاء كتلة، فإنّ التابع open هو مرادف لـ Dir::new. وفي حالة إعطاء كتلة، فسيُمرّر إليها aDirكمعامل.

التابع pwd

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

التابع rmdir

يمحو التابع rmdir‎ المجلد المحدد، سيُطلق خطأ من صنف فرعي (subclass) من SystemCallError  في حال لم يكن المجلد فارغًا .

التابع unlink

يمحو التابع unlink‎ المجلد المحدد، سيُطلق خطأ من صنف فرعي (subclass) من SystemCallError  في حال لم يكن المجلد فارغًا.

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

التابع close

يغلق التابع close مجرى المجلد (directory stream)، استدعاء هذا التابع على على كائن Dir مغلق صار يُتجاهل منذ روبي 2.3. 

التابع each

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

التابع fileno

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

التابع inspect

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

التابع path

يعيد التابع path المسار المُمرّر إلى الباني new على شكل سلسلة نصية. 

التابع pos

يعيد التابع pos الموضع الحالي في الكائن من صنف Dir الذي استٌدعي معه. أنظر أيضًا التابع seek

التابع seek

يذهب التابع seek إلى موضع محدد في الكائن من صنف Dir الذي استٌدعي معه.

التعبير pos =‎

التعبير pos =‎ هو مرادف للتابع seek. بيد أنّه يعيد معامل الموضع (position parameter). 

التابع read

يقرأ التابع read المدخل الموالي في الكائن المجلدي (dir object) الذي استُدعي معه ثم يعيده على شكل سلسلة نصية. وفي نهاية المجرى يعيد القيمةnil .

التابع rewind

يعيد التابع rewind الموضع الراهن عند المدخل الأول.

التابع tell

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

التابع to_path

يعيد التابع to_path المسار المُمرّر (في الوسيط path) إلى الباني new على شكل سلسلة نصية. 

مصادر