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

من موسوعة حسوب
لا ملخص تعديل
لا ملخص تعديل
سطر 2: سطر 2:
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: Ruby ENV]]
[[تصنيف: Ruby ENV]]
يشبه الصنف <code>ENV</code> دوال التجزئة (hash-like accessor) لمتغيرات البيئة.  
يشبه الصنف <code>ENV</code> [[Ruby/Hash|جداول hash]] كثيرًا ويُستعمل للوصول إلى متغيرات البيئة.
 
==توابع الصنف العامة (Public Class Methods)==
==توابع الصنف العامة (Public Class Methods)==
===[[Ruby/ENV/5B-5D|[]]]===
===[[Ruby/ENV/5B-5D|[]]]===
سطر 14: سطر 16:
===[[Ruby/ENV/delete|<code>delete</code>]]===
===[[Ruby/ENV/delete|<code>delete</code>]]===
يحذف متغير بيئةٍ محدَّدٍ ثمَّ يعيد قيمة هذا المتغير. في حال تمرير كتلة إلى التابع، ستُستدعَى إن لم يكن ذلك المتغير موجودًا.
يحذف متغير بيئةٍ محدَّدٍ ثمَّ يعيد قيمة هذا المتغير. في حال تمرير كتلة إلى التابع، ستُستدعَى إن لم يكن ذلك المتغير موجودًا.
===[[Ruby/ENV/delete if|التابع delete_if]]===
===[[Ruby/ENV/delete if|<code>delete_if</code>]]===
يحذف التابع <code>delete_if</code> كل متغيرات البيئة التي تعيد عند تمريرها إلى الكتلة البرمجية المعطاة القيمة <code>true</code>. 
يحذف كل متغيرات البيئة التي تحقِّق شرطًا معيَّنًا.
===[[Ruby/ENV/each|التابع each]]===
===[[Ruby/ENV/each|<code>each</code>]]===
يعيد التابع <code>each‎</code> اسم وقيمة كل متغير من متغيرات البيئة بالتتابع، ثم يرسلها إلى الكتلة البرمجية المعطاة، في حال عدم تمرير كتلة برمجية فسيُعاد كائن من النوع <code>[[Ruby/Enumerator|Enumerator]]</code>. 
يجلب أسماء وقيم متغيرات البيئة بالتتابع، ويرسلها فُرادى إلى الكتلة البرمجية المعطاة.
===[[Ruby/ENV/each key|التابع each_key]]===
===[[Ruby/ENV/each key|<code>each_key</code>]]===
يعيد التابع <code>each_key‎</code> أسماء متغيرات البيئة بالتتابع، ثم يرسلها إلى الكتلة البرمجية المعطاة، في حال عدم تمرير كتلة برمجية فسيُعاد كائن من النوع <code>[[Ruby/Enumerator|Enumerator]]</code>. 
يجلب أسماء متغيرات البيئة بالتتابع، ويرسلها فُرادَى إلى الكتلة البرمجية المعطاة.
===[[Ruby/ENV/each pair|التابع each_pair]]===
===[[Ruby/ENV/each pair|<code>each_pair</code>]]===
يعيد التابع <code>each_pair‎</code> أسماء وقيم متغيرات البيئة بالتتابع، ويرسلها إلى الكتلة البرمجية المعطاة، في حال عدم تمرير كتلة برمجية فسيُعاد كائن من النوع <code>[[Ruby/Enumerator|Enumerator]]</code>. 
يجلب الزوج اسم/قيمة لكل متغير من متغيرات البيئة بالتتابع، ويرسله إلى الكتلة البرمجية المعطاة.
===[[Ruby/ENV/each value|التابع each_value]]===
===[[Ruby/ENV/each value|<code>each_value</code>]]===
يعيد التابع <code>each_value‎</code> قيم متغيرات البيئة بالتتابع، ويرسلها إلى الكتلة البرمجية المعطاة، في حال عدم تمرير كتلة برمجية فسيُعاد كائن من النوع <code>[[Ruby/Enumerator|Enumerator]]</code>. 
يجلب قيمة كل متغير من متغيرات البيئة بالتتابع، ويرسلها إلى الكتلة البرمجية المعطاة.
===[[Ruby/ENV/has key|التابع ?has_key]]===
 
يعيد التابع <code>has_key?‎‎</code> القيمة <code>true</code> إن كان هناك متغير بيئة بالاسم المٌمرّر في الوسيط <code>name</code>. وإلا فسيعيد <code>false.</code> 
=== <code>[[Ruby/ENV/empty|empty?]]</code> ===
يتحقَّق من عدم وجود أي متغيرات بيئة.


===[[Ruby/ENV/has value|التابع ?has_value]]===
=== <code>[[Ruby/ENV/fetch|fetch‎]]</code> ===
يعيد التابع <code>has_value?‎‎</code> القيمة <code>true</code> إن كان هناك متغير بيئة له القيمة المٌمرّرة في الوسيط <code>value</code>. وإلا فسيعيد <code>false.</code>
يجلب قيمة متغير بيئة ذي اسمٍ محدَّدٍ
===[[Ruby/ENV/include|التابع ?include]]===
===[[Ruby/ENV/has key|<code>?has_key</code>]]===
يعيد التابع <code>include?‎‎</code> القيمة <code>true</code> إن كان هناك متغير بيئة بالاسم المٌمرّر في الوسيط <code>name</code>. وإلا فسيعيد <code>false.</code>
يتحقَّق إن كان هناك متغير بيئة باسم محدَّد.
===[[Ruby/ENV/index|التابع index]]===
===[[Ruby/ENV/has value|<code>?has_value</code>]]===
التابع <code>index‎</code> صار مُتجاوزًا (Deprecated)، استخدم بدلًا منه التابع <code>[[Ruby/ENV/key|key]]</code>. 
يتحقَّق إن كان هناك متغير بيئة يملك قيمة محدَّدة.
===[[Ruby/ENV/inspect|التابع inspect]]===
===[[Ruby/ENV/include|<code>?include</code>]]===
يعيد التابع <code>inspect‎</code> محتوى البيئة (environment) على شكل سلسلة نصية. 
يتحقَّق إن كان هناك متغير بيئة ذي اسم محدَّد.
===[[Ruby/ENV/invert|التابع invert]]===
===[[Ruby/ENV/index|<code>index</code>]]===
يعيد التابع <code>invert‎</code> تجزئة (hash) جديدة باستخدام أسماء متغيرات البيئة كقيم وقيمها كأسماء (أي يعكسها). 
أصبح مهملًا (Deprecated). استخدم بدلًا منه التابع <code>[[Ruby/ENV/key|key]]</code>.
===[[Ruby/ENV/keep if|التابع keep_if]]===
===[[Ruby/ENV/inspect|<code>inspect</code>]]===
يحذف التابع <code>keep_if</code> كل متغيرات البيئة التي تعيد عند تمريرها إلى الكتلة البرمجية المعطاة القيمة <code>false</code>. 
يعيد محتوى البيئة (environment) في سلسلة نصية.
===[[Ruby/ENV/key|التابع key]]===
===[[Ruby/ENV/invert|<code>invert</code>]]===
يعكس بين أسماء وقيم متغيرات البيئة ثمَّ يعيدها في كائنٍ جديدٍ من النوع <code>[[Ruby/Hash|Hash]]</code>.
===[[Ruby/ENV/keep if|<code>keep_if</code>]]===
يُبقِي كل متغيرات البيئة التي تحقِّق شرطًا معيَّنًا ويحذف البقية.
===[[Ruby/ENV/key|key]]===
يعيد التابع <code>key</code> اسم متغير البيئة ذا القيمة <code>value</code>. في حال لم تكن القيمة موجودة فسيعيد <code>nil.</code>
يعيد التابع <code>key</code> اسم متغير البيئة ذا القيمة <code>value</code>. في حال لم تكن القيمة موجودة فسيعيد <code>nil.</code>
===[[Ruby/ENV/key-3F|التابع <code>?key</code>]]===
===[[Ruby/ENV/key-3F|التابع <code>?key</code>]]===

مراجعة 12:11، 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 اسم متغير البيئة ذا القيمة value. في حال لم تكن القيمة موجودة فسيعيد nil.

التابع ?key

يعيد التابع ?key القيمة true إن كان هناك متغير بيئة بالاسم name.

التابع keys

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

التابع length

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

التابع ?member

يعيد التابع ?member القيمة true إن كان هناك متغير بيئة بالاسم name(انظر فقرة البنية العامة).

التابع rassoc

يعيد التابع rassoc‎ مصفوفة تضم اسم وقيمة متغير البيئة ذا القيمة value (انظر فقرة البنية العامة)، أو يعيد nil في حال لم تكن تلك القيمة موجودة. 

التابع rehash

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

التابع reject

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

التابع  reject!‎

التابع reject!‎ مشابه للتابع delete_if، لكنه يعيد القيمة nil إن لم يحدث أي تغيير.

التابع replace

يستبدل التابع replace محتويات متغيرات البيئة بمحتويات قيمة التجزئة المعطاة hash

التابع select

يعيد التابع select‎ نسخة من البيئة (environment) تضم المدخلات التي تعيد القيمة true عند تمريرها إلى الكتلة البرمجية. 

التابع select!‎

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

التابع shift

يحذف التابع shift متغير بيئة (name-value) من  ENV، ثم يعيده على شكل مصفوفة، في حال كانت البيئة فارغة فسيعيد القيمة nil

التابع size

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

التابع store

يضبط التابعstore‎ القيمة الخاصة بمتغير البيئة المعطى name  ويعطيه القيمة value، إذا كانت قيمة الوسيط value تساوي nil فسيُحذف متغير البيئة ذاك.  

التابع to_a

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

التابع to_h

ينشئ التابع to_h تجزئة (hash) تحتوي نسخة من متغيرات البيئة. 

التابع to_hash

ينشئ التابع to_hash تجزئة (hash) تحتوي نسخة من متغيرات البيئة. 

التابع to_s

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

التابع update

يضيف التابعupdate محتويات التجزئة المعطاة hash إلى متغيرات البيئة. في حال لم تُعطى أي كتلة برمجية ، فسيكتب فوق المداخل (entries) ذات المفاتيح (keys) المكررة. وإلا يتم تحديد قيمة كل اسم مكرر عن طريق استدعاء الكتلة مع تمرير المفتاح (key) وقيمته من البيئة وقيمته من التجزئة المُعطاة hash إليها.  

التابع ?value

يعيد التابع ?value القيمة true إن كان هناك متغير له القيمة value(انظر فقرة البنية العامة).

التابع values

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

التابع values_at

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

مصادر