الفرق بين المراجعتين لصفحة: «Ruby/Hash/store»
جميل-بيلوني (نقاش | مساهمات) إنشاء الصفحة. |
جميل-بيلوني (نقاش | مساهمات) إضافة محتويات الصفحة. |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Hash]] | [[تصنيف: Ruby Hash]] | ||
يربط التابع <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
الذي استدعي معه.