التابع Hash.fetch في روبي

من موسوعة حسوب
< Ruby‏ | Hash
اذهب إلى التنقل اذهب إلى البحث

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

مصادر