الفرق بين المراجعتين ل"Ruby/Hash/update"

من موسوعة حسوب
< Ruby‏ | Hash
اذهب إلى التنقل اذهب إلى البحث
(إنشاء الصفحة.)
 
(إضافة محتويات الصفحة.)
 
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Hash]]
 
[[تصنيف: Ruby Hash]]
يعيد التابع <code>update</code> ت
+
يضيف التابع <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}

انظر أيضا

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

مصادر