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