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

من موسوعة حسوب
< Ruby‏ | Hash
مراجعة 16:34، 26 نوفمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (إضافة محتويات الصفحة.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يدمج التابع merge كائنين من النوع Hash مع بعضهما بعضًا في كائن جديد من النوع Hash ثم يعيده. إذا لم تُحدد أية كتلة، فستكون قيمة الأزواج ذات المفاتيح المُكررة هي نفسها وتؤخذ من الكائن المُمرَّر إلى التابع. أما إن أعطيت، فستُحدَد قيمة كل مفتاح مكرَّر عن طريق استدعاء الكتلة مع المفتاح وقيمته من الكائن المعطى وقيمته من الكائن المُمرَّر.

البنية العامة

merge(other_hash)  new_hash
merge(other_hash){|key, oldval, newval| block}  new_hash

المعاملات

other_hash

كائن جديد من النوع Hash يراد دمج محتوياته مع الكائن Hash المعطى.

القيمة المعادة

يعاد كائن جديد من النوع Hash يحتوي على محتويات المعامل other_hash ومحتويات الكائن Hash المعطى نفسه.

أمثلة

مثال على استعمال التابع merge:

h1 = { "a" => 100, "b" => 200 }
h2 = { "b" => 254, "c" => 300 }
h1.merge(h2)   #=> {"a"=>100, "b"=>254, "c"=>300}
h1.merge(h2){|key, oldval, newval| newval - oldval}
               #=> {"a"=>100, "b"=>54,  "c"=>300}
h1             #=> {"a"=>100, "b"=>200}

انظر أيضا

  • التابع merge!‎: يضيف محتويات الكائن Hash الذي مُمرِّر إليه إلى الكائن الذي استدعي معه.

مصادر