الفرق بين المراجعتين لصفحة: «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
: يعيد مصفوفة تحتوي على القيم المقترنة بالمفاتيح المعطاة.