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