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