الفرق بين المراجعتين ل"Ruby/Hash/fetch"
اذهب إلى التنقل
اذهب إلى البحث
جميل-بيلوني (نقاش | مساهمات) (إنشاء الصفحة.) |
جميل-بيلوني (نقاش | مساهمات) (إضافة محتويات الصفحة.) |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Hash]] | [[تصنيف: Ruby Hash]] | ||
− | يعيد التابع <code>fetch</code> | + | يعيد التابع <code>fetch</code> قيمة من الكائن <code>[[Ruby/Hash|Hash]]</code> لمفتاح معين. إذا كان المفتاح غير موجود، هناك عدة خيارات متاحة لتطبيقها وهي: |
+ | * مع عدم تمرير معاملات أخرى غير المفتاح، سيُرمَى الاستثناء <code>[[Ruby/KeyError|KeyError]]</code>. | ||
+ | * إذا مُرِّرت قيمة أخرى بعد المفتاح، فستُعاد هذه القيمة على أساس أنها قيمة افتراضية. | ||
+ | * إذا أعطيت الكتلة الاختيارية، فستُنفَّذ وتُعاد نتيجتها. | ||
+ | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">fetch(key [, default] ) → obj | <syntaxhighlight lang="ruby">fetch(key [, default] ) → obj | ||
fetch(key) {| key | block } → obj</syntaxhighlight> | fetch(key) {| key | block } → obj</syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
+ | |||
+ | === <code>key</code> === | ||
+ | المفتاح المراد جلب القيمة المرتبطة به في الكائن <code>[[Ruby/Hash|Hash]]</code>. | ||
+ | |||
+ | === <code>default</code> === | ||
+ | القيمة الافتراضية التي ستُعاد إن لم يُعثر على المفتاح <code>key</code>. | ||
==القيمة المعادة== | ==القيمة المعادة== | ||
− | تعاد | + | تعاد قيمة المفتاح <code>key</code> من الكائن [[Ruby/Hash|<code>Hash</code>]] المعطى. إذا كان المفتاح غير موجود، فهنالك عدة خيارات للقيمة المعادة هي: |
+ | * مع عدم تمرير معاملات أخرى غير المفتاح، سيُرمَى الاستثناء <code>[[Ruby/KeyError|KeyError]]</code>. | ||
+ | * إذا مُرِّرت قيمة أخرى بعد المفتاح، فستُعاد هذه القيمة على أساس أنها قيمة افتراضية. | ||
+ | * إذا أعطيت الكتلة الاختيارية، فستُنفَّذ وتُعاد نتيجتها. | ||
+ | == أمثلة == | ||
+ | مثال على استعمال التابع <code>fetch</code>:<syntaxhighlight lang="ruby"> | ||
+ | h = { "a" => 100, "b" => 200 } | ||
+ | h.fetch("a") #=> 100 | ||
+ | h.fetch("z", "go fish") #=> "go fish" | ||
+ | h.fetch("z") { |el| "go fish, #{el}"} #=> "go fish, z" | ||
+ | </syntaxhighlight>يُظهِر المثال التالي كيفية رمي استثناء إذا كان المفتاح غير موجود ولم تُعطَ قيمة افتراضية:<syntaxhighlight lang="ruby"> | ||
+ | h = { "a" => 100, "b" => 200 } | ||
+ | h.fetch("z") | ||
+ | </syntaxhighlight>يُنتِج:<syntaxhighlight lang="text"> | ||
+ | prog.rb:2:in `fetch': key not found (KeyError) | ||
+ | from prog.rb:2 | ||
+ | </syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
− | * | + | * التابع <code>[[Ruby/Hash/fetch values|fetch_values]]</code>: يعيد مصفوفة تحتوي على القيم المقترنة بالمفاتيح المعطاة. |
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Hash.html#method-i-fetch قسم التابع fetch في الصنف Hash في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Hash.html#method-i-fetch قسم التابع fetch في الصنف Hash في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 13:19، 26 نوفمبر 2018
يعيد التابع fetch
قيمة من الكائن Hash
لمفتاح معين. إذا كان المفتاح غير موجود، هناك عدة خيارات متاحة لتطبيقها وهي:
- مع عدم تمرير معاملات أخرى غير المفتاح، سيُرمَى الاستثناء
KeyError
. - إذا مُرِّرت قيمة أخرى بعد المفتاح، فستُعاد هذه القيمة على أساس أنها قيمة افتراضية.
- إذا أعطيت الكتلة الاختيارية، فستُنفَّذ وتُعاد نتيجتها.
البنية العامة
fetch(key [, default] ) → obj
fetch(key) {| key | block } → obj
المعاملات
key
المفتاح المراد جلب القيمة المرتبطة به في الكائن Hash
.
default
القيمة الافتراضية التي ستُعاد إن لم يُعثر على المفتاح key
.
القيمة المعادة
تعاد قيمة المفتاح key
من الكائن Hash
المعطى. إذا كان المفتاح غير موجود، فهنالك عدة خيارات للقيمة المعادة هي:
- مع عدم تمرير معاملات أخرى غير المفتاح، سيُرمَى الاستثناء
KeyError
. - إذا مُرِّرت قيمة أخرى بعد المفتاح، فستُعاد هذه القيمة على أساس أنها قيمة افتراضية.
- إذا أعطيت الكتلة الاختيارية، فستُنفَّذ وتُعاد نتيجتها.
أمثلة
مثال على استعمال التابع fetch
:
h = { "a" => 100, "b" => 200 }
h.fetch("a") #=> 100
h.fetch("z", "go fish") #=> "go fish"
h.fetch("z") { |el| "go fish, #{el}"} #=> "go fish, z"
يُظهِر المثال التالي كيفية رمي استثناء إذا كان المفتاح غير موجود ولم تُعطَ قيمة افتراضية:
h = { "a" => 100, "b" => 200 }
h.fetch("z")
يُنتِج:
prog.rb:2:in `fetch': key not found (KeyError)
from prog.rb:2
انظر أيضا
- التابع
fetch_values
: يعيد مصفوفة تحتوي على القيم المقترنة بالمفاتيح المعطاة.