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

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: صفحة الصنف <code>ENV</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby ENV كائنات الصنف<code>EN...')
 
ط (مراجعة وتدقيق)
 
(21 مراجعة متوسطة بواسطة مستخدمين اثنين آخرين غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: صفحة الصنف <code>ENV</code> في روبي}}</noinclude>
+
<noinclude>{{DISPLAYTITLE:الصنف <code>ENV</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 +
[[تصنيف: Ruby Class]]
 
[[تصنيف: Ruby ENV]]
 
[[تصنيف: Ruby ENV]]
كائنات الصنف<code>ENV</code> هي مجريات مجلدات (directory streams) في نظام الملفات الأساسي. فهي توفر مجموعة من الطرق لعرض المجلدات ومحتوياتها. انظر صفحة [[Ruby/File|File]] لمزيد من المعلومات.
+
يشبه الصنف <code>ENV</code> الجداول <code>[[Ruby/Hash|Hash]]</code> كثيرًا ويُستعمل للوصول إلى متغيرات البيئة.
 
 
يحتوي المجلد المستخدم في الأمثلة الموجودة في صفحات التوابع ملفين عاديين (<code>config.h</code> و <code>main.rb</code>) ، والمجلد الأب (<code>..</code>) ، والمجلد نفسه (<code>.</code>).
 
 
==توابع الصنف العامة (Public Class Methods)==
 
==توابع الصنف العامة (Public Class Methods)==
 +
===[[Ruby/ENV/5B-5D|[]]]===
 +
يعيد هذا المعامل قيمة متغير بيئة محدَّد في سلسلة نصية، أو يعيد القيمة <code>nil</code> في حال لم يكن ذلك المتغير موجودًا.
 +
===[[Ruby/ENV/5B-5D-3D|[]]]===
 +
يضبط هذا المعامل عندما يُستعمَل بالشكل <code>ENV[name] = value‎</code> قيمة متغير البيئة ذي الاسم<code>name</code> إلى القيمة <code>value</code>. إذا كانت القيمة <code>value</code> المعطاة تساوي <code>nil</code>، فسيُحذَف متغير البيئة ذاك.
 +
===[[Ruby/ENV/assoc|<code>assoc</code>]]===
 +
يعيد مصفوفةً تحوي اسم وقيمة متغير بيئة ذي اسم محدَّد، أو يعيد القيمة <code>nil</code> في حال لم يكن ذلك المتغير موجودًا.
 +
===[[Ruby/ENV/clear|<code>clear</code>]]===
 +
يحذف جميع متغيرات البيئة.
 +
===[[Ruby/ENV/delete|<code>delete</code>]]===
 +
يحذف متغير بيئةٍ محدَّدٍ ثمَّ يعيد قيمة هذا المتغير. في حال تمرير كتلة إلى التابع، ستُستدعَى إن لم يكن ذلك المتغير موجودًا.
 +
===[[Ruby/ENV/delete if|<code>delete_if</code>]]===
 +
يحذف كل متغيرات البيئة التي تحقِّق شرطًا معيَّنًا.
 +
===[[Ruby/ENV/each|<code>each</code>]]===
 +
يجلب أسماء وقيم متغيرات البيئة بالتتابع، ويرسلها فُرادى إلى الكتلة البرمجية المعطاة.
 +
===[[Ruby/ENV/each key|<code>each_key</code>]]===
 +
يجلب أسماء متغيرات البيئة بالتتابع، ويرسلها فُرادَى إلى الكتلة البرمجية المعطاة.
 +
===[[Ruby/ENV/each pair|<code>each_pair</code>]]===
 +
يجلب الزوج اسم/قيمة لكل متغير من متغيرات البيئة بالتتابع، ويرسله إلى الكتلة البرمجية المعطاة.
 +
===[[Ruby/ENV/each value|<code>each_value</code>]]===
 +
يجلب قيمة كل متغير من متغيرات البيئة بالتتابع، ويرسلها إلى الكتلة البرمجية المعطاة.
 +
===<code>[[Ruby/ENV/empty|empty?‎]]</code>===
 +
يتحقَّق من عدم وجود أي متغيرات بيئة.
 +
===<code>[[Ruby/ENV/fetch|fetch‎]]</code>===
 +
يجلب قيمة متغير بيئة ذي اسمٍ محدَّدٍ.
 +
===[[Ruby/ENV/has key|<code>?has_key</code>]]===
 +
يتحقَّق إن كان هناك متغير بيئة باسم محدَّد.
 +
===[[Ruby/ENV/has value|<code>?has_value</code>]]===
 +
يتحقَّق إن كان هناك متغير بيئة يملك قيمة محدَّدة.
 +
===[[Ruby/ENV/include|<code>?include</code>]]===
 +
يتحقَّق إن كان هناك متغير بيئة ذي اسم محدَّد.
 +
===[[Ruby/ENV/index|<code>index</code>]]===
 +
أصبح مهملًا (Deprecated). استخدم بدلًا منه التابع <code>[[Ruby/ENV/key|key]]</code>.
 +
===[[Ruby/ENV/inspect|<code>inspect</code>]]===
 +
يعيد محتوى البيئة (environment) في سلسلة نصية.
 +
===[[Ruby/ENV/invert|<code>invert</code>]]===
 +
يعكس بين أسماء وقيم متغيرات البيئة ثمَّ يعيدها في كائنٍ جديدٍ من النوع <code>[[Ruby/Hash|Hash]]</code>.
 +
===[[Ruby/ENV/keep if|<code>keep_if</code>]]===
 +
يُبقِي كل متغيرات البيئة التي تحقِّق شرطًا معيَّنًا ويحذف البقية.
 +
===[[Ruby/ENV/key|<code>key</code>]]===
 +
يعيد اسم متغير البيئة الذي يملك قيمة محدَّدة.
 +
===[[Ruby/ENV/key-3F|<code>?key</code>]]===
 +
يتحقَّق إن كان هنالك متغير بيئة باسم محدَّد.
 +
===[[Ruby/ENV/keys|<code>keys</code>]]===
 +
يعيد جميع متغيرات البيئة في مصفوفة.
 +
===[[Ruby/ENV/length|<code>length</code>]]===
 +
يعيد عدد متغيرات البيئة الموجودة.
 +
===[[Ruby/ENV/member|<code>?member</code>]]===
 +
يتحقَّق إن كان هناك متغير بيئة ذي اسم محدَّد.
 +
===[[Ruby/ENV/rassoc|<code>rassoc</code>]]===
 +
يعيد مصفوفة تضم اسم وقيمة متغير بيئة ذي قيمة محدَّدة، أو يعيد القيمة <code>nil</code> في حال لم تكن تلك القيمة موجودة.
 +
===[[Ruby/ENV/rehash|<code>rehash</code>]]===
 +
لا يفعل هذا التابع أي شيء، فهو موجود لأغراض التوافقية مع الصنف <code>[[Ruby/Hash|Hash]]</code>.
  
=== [[Ruby/Dir/5B-5D|التابع []]] ===
+
===[[Ruby/ENV/reject|<code>reject</code>]]===
يكافئ التابع <code>Dir[]‎</code> استدعاء <code>Dir.glob([string,...], 0)</code>. 
+
مشابه للتابع <code>[[Ruby/ENV/delete if|delete_if]]</code> لكنه يعمل على نسخة من البيئة وليس البيئة نفسها.
 
+
===[[Ruby/ENV/reject-21|<code>reject!‎</code>]]===
=== [[Ruby/Dir/chdir|التابع <code>chdir‎</code>]] ===
+
مشابه للتابع <code>[[Ruby/ENV/delete if|delete_if]]</code> لكنه يعيد القيمة <code>nil</code> إن لم يحدث أي تغيير في البيئة.
يستبدل التابع <code>chdir‎</code> مجلد العمل (working directory) الحالي للعملية ويعيّن مكانه السلسلة النصية المعطاة.
+
===[[Ruby/ENV/replace|<code>replace</code>]]===
 
+
يُبدِّل محتويات الجدول <code>[[Ruby/Hash|hash]]</code> المعطى مكان محتويات متغيرات البيئة الحالية.
=== [[Ruby/Dir/children|التابع children]] ===
+
===[[Ruby/ENV/select|<code>select</code>]]===
يعيد التابع <code>children‎</code> مصفوفة تحتوي جميع أسماء الملفات في المجلد المحدد باستثناء "<code>.</code>" و "<code>..</code>". في حالة عدم وجود المجلد المحدد، فسيُطلق الخطأ<code>SystemCallError</code>.
+
يعيد نسخة من البيئة (environment) تضم المدخلات التي حقَّقت شرطًا معيَّنًا.
 
+
===[[Ruby/ENV/select-21|<code>select!‎</code>]]===
=== [[Ruby/Dir/chroot|التابع chroot]] ===
+
مكافئ للتابع <code>[[Ruby/ENV/keep if|keep_if]]</code> لكنه يعيد القيمة <code>nil</code> إن لم يُحدِث أي تغيير في البيئة.
يغير التابع <code>chroot</code> جذر (root)  نظام الملفات الخاص بالعملية (process). فقط العمليات ذات الامتياز  (privileged process) مُخوّلة لاستدعاء هذا التابع.  
+
===[[Ruby/ENV/shift|<code>shift</code>]]===
 
+
يحذف متغير بيئة (اسم المتغير وقيمته) من البيئة <code>ENV</code> ثمَّ يعيده في مصفوفة.
=== [[Ruby/Dir/delete|التابع delete]] ===
+
===[[Ruby/ENV/size|<code>size</code>]]===
يمحو التابع <code>delete‎</code> المجلد المحدد، سيُطلق خطأ من صنف فرعي (subclass) من <code>SystemCallError</code>  في حال لم يكن المجلد موجودًا. 
+
يعيد عدد متغيرات البيئة.
 
+
===[[Ruby/ENV/store|<code>store</code>]]===
=== [[Ruby/Dir/each child|التابع each_child]] ===
+
يضبط قيمة متغير بيئة ذي اسمٍ محدَّدٍ إلى قيمة معيَّنة.
يستدعي التابع <code>each_child</code> الكتلة المعطاة على كل ملف من الملفات المحتواة في المجلد المحدد، باستثناء "<code>..</code>" و "<code>.</code>". حيث يمُمرّر أسماء تلك الملفات كوسائط للكتلة. 
+
===[[Ruby/ENV/to a|<code>to_a</code>]]===
 
+
يحول متغيرات البيئة إلى مصفوفة مكونة من مصفوفات فرعية تضم أسماء وقيم تلك المتغيرات.
=== [[Ruby/Dir/delete|التابع delete]] ===
+
===[[Ruby/ENV/to h|<code>to_h</code>]]===
يمحو التابع <code>delete‎</code> المجلد المحدد، سيُطلق خطأ من صنف فرعي (subclass) من <code>SystemCallError</code>  في حال لم يكن المجلد موجودًا.
+
ينشئ جدولًا من النوع <code>[[Ruby/Hash|Hash]]</code> يحوي نسخةً من متغيرات البيئة.
 
+
===[[Ruby/ENV/to hash|<code>to_hash</code>]]===
=== [[Ruby/Dir/empty|التابع ?empty]] ===
+
ينشئ جدولًا من النوع <code>[[Ruby/Hash|Hash]]</code> يحوي نسخةً من متغيرات البيئة.
يتحقق التابع <code>?empty</code> مما إذا كان المجلد المعطى فارغًا. 
+
===[[Ruby/ENV/to s|<code>to_s</code>]]===
 
+
يعيد السلسلة النصية “<code>ENV</code>. 
=== [[Ruby/Dir/entries|التابع entries]] ===
+
===[[Ruby/ENV/update|<code>update</code>]]===
يعيد التابع <code>entries‎</code> مصفوفة تحتوي جميع أسماء الملفات الموجودة في المجلد المحدد. في حال عدم وجود المجلد المحدد، فسيُطلق الخطأ <code>SystemCallError</code>. 
+
يضيف محتويات الجدول <nowiki/>[[Ruby/Hash|<code>Hash</code>]] المعطى إلى متغيرات البيئة الحالية.
 
+
===[[Ruby/ENV/value-3F|<code>?value</code>]]===
=== [[Ruby/Dir/exist|التابع ?exist]] ===
+
يتحقَّق إن كان هناك متغير له قيمة محدَّدة.
يتحقق التابع <code>?exist</code> مما إذا كان الملف المعطى مجلدًا. 
+
===[[Ruby/ENV/values|<code>values</code>]]===
 
+
يعيد مصفوفة تضم جميع قيم متغيرات البيئة.
=== [[Ruby/Dir/exists|التابع exists]] ===
+
===[[Ruby/ENV/values at|<code>values_at</code>]]===
هذا التابع صار متجاوزا، لا تستخدمه. انظر التابع <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> مجلدًا جديدًا.
 
 
 
=== [[Ruby/Dir/new|التابع new]] ===
 
يعيد التابع <code>new</code> كائنًا مجلديًا (directory object) جديدًا خاصًا بالمجلد المعطى. 
 
 
 
=== [[Ruby/Dir/open|التابع open]] ===
 
في حال عدم إعطاء كتلة، فإنّ التابع <code>open</code> هو مرادف لـ <code>Dir::new</code>. وفي حالة إعطاء كتلة، فسيُمرّر إليها <code>aDir</code>كمعامل.
 
 
 
=== [[Ruby/Dir/pwd|التابع pwd]] ===
 
يعيد التابع <code>pwd</code> مسار مجلد العمل (working directory) الحالي للعملية (process) على شكل سلسلة نصية. 
 
 
 
=== [[Ruby/Dir/rmdir|التابع rmdir]] ===
 
يمحو التابع <code>rmdir‎</code> المجلد المحدد، سيُطلق خطأ من صنف فرعي (subclass) من <code>SystemCallError</code>  في حال لم يكن المجلد فارغًا .
 
 
 
=== [[Ruby/Dir/unlink|التابع unlink]] ===
 
يمحو التابع <code>unlink‎</code> المجلد المحدد، سيُطلق خطأ من صنف فرعي (subclass) من <code>SystemCallError</code>  في حال لم يكن المجلد فارغًا.
 
 
 
== توابع الكائن العامة (Public Instance Methods) ==
 
 
 
=== [[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> الذي استٌدعي معه.
 
 
 
=== [[Ruby/Dir/pos-3D|التعبير <code>pos =‎</code>]] ===
 
التعبير <code>pos =‎</code>  هو مرادف للتابع <code>[[uby/Dir/seek|seek]]</code>. بيد أنّه يعيد معامل الموضع (position parameter). 
 
 
 
=== [[Ruby/Dir/read|التابع read]] ===
 
يقرأ التابع <code>read</code> المدخل الموالي في الكائن المجلدي (''dir'' object) الذي استُدعي معه ثم يعيده على شكل سلسلة نصية. وفي نهاية المجرى يعيد القيمة<code>nil</code> .
 
 
 
=== [[Ruby/Dir/rewind|التابع rewind]] ===
 
يعيد التابع <code>rewind</code> الموضع الراهن عند المدخل الأول.
 
 
 
=== [[Ruby/Dir/tell|التابع tell]] ===
 
يعيد التابع <code>tell</code> الموضع الحالي في الكائن من صنف <code>Dir</code> الذي استٌدعي معه. أنظر أيضًا التابع <code>[[uby/Dir/seek|seek]]</code>.
 
 
 
=== [[Ruby/Dir/to path|التابع to_path]] ===
 
يعيد التابع <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 قسم  الصنف ENV في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/ENV.html صفحة الصنف ENV في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 14:34، 12 نوفمبر 2018

يشبه الصنف ENV الجداول Hash كثيرًا ويُستعمل للوصول إلى متغيرات البيئة.

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

[]

يعيد هذا المعامل قيمة متغير بيئة محدَّد في سلسلة نصية، أو يعيد القيمة nil في حال لم يكن ذلك المتغير موجودًا.

[]

يضبط هذا المعامل عندما يُستعمَل بالشكل ENV[name] = value‎ قيمة متغير البيئة ذي الاسمname إلى القيمة value. إذا كانت القيمة value المعطاة تساوي nil، فسيُحذَف متغير البيئة ذاك.

assoc

يعيد مصفوفةً تحوي اسم وقيمة متغير بيئة ذي اسم محدَّد، أو يعيد القيمة nil في حال لم يكن ذلك المتغير موجودًا.

clear

يحذف جميع متغيرات البيئة.

delete

يحذف متغير بيئةٍ محدَّدٍ ثمَّ يعيد قيمة هذا المتغير. في حال تمرير كتلة إلى التابع، ستُستدعَى إن لم يكن ذلك المتغير موجودًا.

delete_if

يحذف كل متغيرات البيئة التي تحقِّق شرطًا معيَّنًا.

each

يجلب أسماء وقيم متغيرات البيئة بالتتابع، ويرسلها فُرادى إلى الكتلة البرمجية المعطاة.

each_key

يجلب أسماء متغيرات البيئة بالتتابع، ويرسلها فُرادَى إلى الكتلة البرمجية المعطاة.

each_pair

يجلب الزوج اسم/قيمة لكل متغير من متغيرات البيئة بالتتابع، ويرسله إلى الكتلة البرمجية المعطاة.

each_value

يجلب قيمة كل متغير من متغيرات البيئة بالتتابع، ويرسلها إلى الكتلة البرمجية المعطاة.

empty?‎

يتحقَّق من عدم وجود أي متغيرات بيئة.

fetch‎

يجلب قيمة متغير بيئة ذي اسمٍ محدَّدٍ.

?has_key

يتحقَّق إن كان هناك متغير بيئة باسم محدَّد.

?has_value

يتحقَّق إن كان هناك متغير بيئة يملك قيمة محدَّدة.

?include

يتحقَّق إن كان هناك متغير بيئة ذي اسم محدَّد.

index

أصبح مهملًا (Deprecated). استخدم بدلًا منه التابع key.

inspect

يعيد محتوى البيئة (environment) في سلسلة نصية.

invert

يعكس بين أسماء وقيم متغيرات البيئة ثمَّ يعيدها في كائنٍ جديدٍ من النوع Hash.

keep_if

يُبقِي كل متغيرات البيئة التي تحقِّق شرطًا معيَّنًا ويحذف البقية.

key

يعيد اسم متغير البيئة الذي يملك قيمة محدَّدة.

?key

يتحقَّق إن كان هنالك متغير بيئة باسم محدَّد.

keys

يعيد جميع متغيرات البيئة في مصفوفة.

length

يعيد عدد متغيرات البيئة الموجودة.

?member

يتحقَّق إن كان هناك متغير بيئة ذي اسم محدَّد.

rassoc

يعيد مصفوفة تضم اسم وقيمة متغير بيئة ذي قيمة محدَّدة، أو يعيد القيمة nil في حال لم تكن تلك القيمة موجودة.

rehash

لا يفعل هذا التابع أي شيء، فهو موجود لأغراض التوافقية مع الصنف Hash.

reject

مشابه للتابع delete_if لكنه يعمل على نسخة من البيئة وليس البيئة نفسها.

reject!‎

مشابه للتابع delete_if لكنه يعيد القيمة nil إن لم يحدث أي تغيير في البيئة.

replace

يُبدِّل محتويات الجدول hash المعطى مكان محتويات متغيرات البيئة الحالية.

select

يعيد نسخة من البيئة (environment) تضم المدخلات التي حقَّقت شرطًا معيَّنًا.

select!‎

مكافئ للتابع keep_if لكنه يعيد القيمة nil إن لم يُحدِث أي تغيير في البيئة.

shift

يحذف متغير بيئة (اسم المتغير وقيمته) من البيئة ENV ثمَّ يعيده في مصفوفة.

size

يعيد عدد متغيرات البيئة.

store

يضبط قيمة متغير بيئة ذي اسمٍ محدَّدٍ إلى قيمة معيَّنة.

to_a

يحول متغيرات البيئة إلى مصفوفة مكونة من مصفوفات فرعية تضم أسماء وقيم تلك المتغيرات.

to_h

ينشئ جدولًا من النوع Hash يحوي نسخةً من متغيرات البيئة.

to_hash

ينشئ جدولًا من النوع Hash يحوي نسخةً من متغيرات البيئة.

to_s

يعيد السلسلة النصية “ENV”. 

update

يضيف محتويات الجدول Hash المعطى إلى متغيرات البيئة الحالية.

?value

يتحقَّق إن كان هناك متغير له قيمة محدَّدة.

values

يعيد مصفوفة تضم جميع قيم متغيرات البيئة.

values_at

يعيد مصفوفة تضم جميع قيم متغيرات البيئة المرتبطة بالأسماء المٌعطاة.

مصادر