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

من موسوعة حسوب
< Ruby‏ | Hash
اذهب إلى التنقل اذهب إلى البحث
(إنشاء الصفحة.)
 
(إضافة محتويات الصفحة.)
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Hash]]
 
[[تصنيف: Ruby Hash]]
يعيد التابع <code>store</code> ت
+
يربط التابع <code>store</code> قيمة محددة مع مفتاح محدد في الكائن <code>[[Ruby/Hash|Hash]]</code> الذي استدعي معه. إن كان المفتاح موجود مسبقًا وكان مرتبط بقيمة، فستتغير هذه القيمة إلى القيمة المعطاة الجديدة. وإن لم يكن موجودًا، فسيُنشَأ ويُربَط بالقيمة المعطاة ويضاف إلى الكائن.البنية العامة
==البنية العامة==
 
 
<syntaxhighlight lang="ruby">store(key, value) → value</syntaxhighlight>
 
<syntaxhighlight lang="ruby">store(key, value) → value</syntaxhighlight>
 
==المعاملات==
 
==المعاملات==
 +
 +
=== <code>key</code> ===
 +
المفتاح الذي يراد ربط القيمة <code>value</code> المعطاة به.
 +
 +
=== <code>value</code> ===
 +
القيمة التي ستُربَط بالمفتاح <code>key</code>.
  
 
==القيمة المعادة==
 
==القيمة المعادة==
تعاد  
+
تعاد القيمة <code>value</code> نفسها بعد ربطها بالمفتاح <code>key</code>.
  
 +
== أمثلة ==
 +
مثال على استعمال التابع <code>store</code>:<syntaxhighlight lang="ruby">
 +
h = { "a" => 100, "b" => 200 }
 +
h["a"] = 9
 +
h["c"] = 4
 +
h  #=> {"a"=>9, "b"=>200, "c"=>4}
 +
h.store("d", 42) #=> 42
 +
h  #=> {"a"=>9, "b"=>200, "c"=>4, "d"=>42}
 +
</syntaxhighlight>انتبه إلى أنَّه لا يجب تغيير قيمة كائنٍ أثناء استخدامه كمفتاح، إذ ستكرر السلاسل النصية غير المجمدة المستعملة كمفتاح وتُجمَّد. اطلع على المثال التالي الذي يشرح ذلك:<syntaxhighlight lang="ruby">
 +
a = "a"
 +
b = "b".freeze
 +
h = { a => 100, b => 200 }
 +
h.key(100).equal? a #=> false
 +
h.key(200).equal? b #=> true
 +
</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
*  
+
* المعامل <code>[[Ruby/Hash/5B-5D-3D|[]]]</code>: يربط عند استدعائه بالشكل <code>hsh[key] = value</code> القيمة <code>value</code> المعطاة بالمفتاح <code>key</code> في الجدول <code>Hash</code>.
 +
* التابع <code>[[Ruby/Hash/key|key]]</code>: يعيد المفتاح المقابل لقيمة معيَّنة في الكائن <code>[[Ruby/Hash|Hash]]</code> الذي استدعي معه.
  
 
==مصادر==
 
==مصادر==
 
*[http://ruby-doc.org/core-2.5.1/Hash.html#method-i-store قسم التابع store في الصنف Hash في توثيق روبي الرسمي.]
 
*[http://ruby-doc.org/core-2.5.1/Hash.html#method-i-store قسم التابع store في الصنف Hash في توثيق روبي الرسمي.]

مراجعة 17:38، 26 نوفمبر 2018

يربط التابع store قيمة محددة مع مفتاح محدد في الكائن Hash الذي استدعي معه. إن كان المفتاح موجود مسبقًا وكان مرتبط بقيمة، فستتغير هذه القيمة إلى القيمة المعطاة الجديدة. وإن لم يكن موجودًا، فسيُنشَأ ويُربَط بالقيمة المعطاة ويضاف إلى الكائن.البنية العامة

store(key, value)  value

المعاملات

key

المفتاح الذي يراد ربط القيمة value المعطاة به.

value

القيمة التي ستُربَط بالمفتاح key.

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

تعاد القيمة value نفسها بعد ربطها بالمفتاح key.

أمثلة

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

h = { "a" => 100, "b" => 200 }
h["a"] = 9
h["c"] = 4
h   #=> {"a"=>9, "b"=>200, "c"=>4}
h.store("d", 42) #=> 42
h   #=> {"a"=>9, "b"=>200, "c"=>4, "d"=>42}

انتبه إلى أنَّه لا يجب تغيير قيمة كائنٍ أثناء استخدامه كمفتاح، إذ ستكرر السلاسل النصية غير المجمدة المستعملة كمفتاح وتُجمَّد. اطلع على المثال التالي الذي يشرح ذلك:

a = "a"
b = "b".freeze
h = { a => 100, b => 200 }
h.key(100).equal? a #=> false
h.key(200).equal? b #=> true

انظر أيضا

  • المعامل []: يربط عند استدعائه بالشكل hsh[key] = value القيمة value المعطاة بالمفتاح key في الجدول Hash.
  • التابع key: يعيد المفتاح المقابل لقيمة معيَّنة في الكائن Hash الذي استدعي معه.

مصادر