الفرق بين المراجعتين لصفحة: «Ruby/Hash/merge»
جميل-بيلوني (نقاش | مساهمات) إنشاء الصفحة. |
جميل-بيلوني (نقاش | مساهمات) إضافة محتويات الصفحة. |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Hash]] | [[تصنيف: Ruby Hash]] | ||
يدمج التابع <code>merge</code> كائنين من النوع <code>[[Ruby/Hash|Hash]]</code> مع بعضهما بعضًا في كائن جديد من النوع <code>[[Ruby/Hash|Hash]]</code> ثم يعيده. إذا لم تُحدد أية كتلة، فستكون قيمة الأزواج ذات المفاتيح المُكررة هي نفسها وتؤخذ من الكائن المُمرَّر إلى التابع. أما إن أعطيت، فستُحدَد قيمة كل مفتاح مكرَّر عن طريق استدعاء الكتلة مع المفتاح وقيمته من الكائن المعطى وقيمته من الكائن المُمرَّر. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">merge(other_hash) → new_hash | <syntaxhighlight lang="ruby">merge(other_hash) → new_hash | ||
merge(other_hash){|key, oldval, newval| block} → new_hash</syntaxhighlight> | merge(other_hash){|key, oldval, newval| block} → new_hash</syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
=== <code>other_hash</code> === | |||
كائن جديد من النوع <code>[[Ruby/Hash|Hash]]</code> يراد دمج محتوياته مع الكائن <code>[[Ruby/Hash|Hash]]</code> المعطى. | |||
==القيمة المعادة== | ==القيمة المعادة== | ||
يعاد كائن جديد من النوع <code>[[Ruby/Hash|Hash]]</code> يحتوي على محتويات المعامل <code>other_hash</code> ومحتويات الكائن <code>[[Ruby/Hash|Hash]]</code> المعطى نفسه. | |||
== أمثلة == | |||
مثال على استعمال التابع <code>merge</code>:<syntaxhighlight lang="ruby"> | |||
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} | |||
</syntaxhighlight> | |||
==انظر أيضا== | == انظر أيضا == | ||
* | * التابع <code>[[Ruby/Hash/merge!|merge!]]</code>: يضيف محتويات الكائن <code>[[Ruby/Hash|Hash]]</code> الذي مُمرِّر إليه إلى الكائن الذي استدعي معه. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Hash.html#method-i-merge قسم التابع merge في الصنف Hash في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Hash.html#method-i-merge قسم التابع merge في الصنف 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}