الفرق بين المراجعتين لصفحة: «Ruby/Hash/5B-5D-3D»
جميل-بيلوني (نقاش | مساهمات) إنشاء الصفحة. |
جميل-بيلوني (نقاش | مساهمات) |
||
(1 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة) | |||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE:المعامل <code>[]</code> الخاص بالصنف <code>Hash</code> في روبي}}</noinclude> | <noinclude>{{DISPLAYTITLE:المعامل <code>[]</code> الخاص بالصنف <code>Hash</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby | [[تصنيف: Ruby Operator]] | ||
[[تصنيف: Ruby Hash]] | [[تصنيف: Ruby Hash]] | ||
يربط المعامل <code>[]</code> عند استدعائه بالشكل <code>hsh[key] = value</code> القيمة <code>value</code> المعطاة بالمفتاح <code>key</code> في الجدول <code>[[Ruby/Hash|Hash]]</code>. | |||
==البنية العامة== | |||
== البنية العامة == | |||
<syntaxhighlight lang="ruby">hsh[key] = value → value</syntaxhighlight> | <syntaxhighlight lang="ruby">hsh[key] = value → value</syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
=== <code>key</code> === | |||
المفتاح الذي يراد ربط القيمة <code>value</code> المعطاة به. | |||
==القيمة المعادة== | ==القيمة المعادة== | ||
تعاد | تعاد القيمة <code>value</code> نفسها بعد ربطها بالمفتاح <code>key</code>. | ||
== أمثلة == | |||
مثال على استعمال المعامل <code>[]</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|[]]]</code>: يجلب القيمة المقابلة لمفتاح معين في الجدول <code>[[Ruby/Hash|Hash]]</code> المعطى. | ||
* المعامل <code>[[Ruby/Hash/equal|==]]</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-5B-5D-3D قسم المعامل [] في الصنف Hash في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Hash.html#method-i-5B-5D-3D <nowiki>قسم المعامل [] في الصنف Hash في توثيق روبي الرسمي.</nowiki>] |
المراجعة الحالية بتاريخ 17:36، 26 نوفمبر 2018
يربط المعامل []
عند استدعائه بالشكل hsh[key] = value
القيمة value
المعطاة بالمفتاح key
في الجدول Hash
.
البنية العامة
hsh[key] = value → value
المعاملات
key
المفتاح الذي يراد ربط القيمة value
المعطاة به.
القيمة المعادة
تعاد القيمة value
نفسها بعد ربطها بالمفتاح key
.
أمثلة
مثال على استعمال المعامل []
:
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
انظر أيضا
- المعامل
[]
: يجلب القيمة المقابلة لمفتاح معين في الجدولHash
المعطى. - المعامل
==
من تساوي كائنين من النوعHash
. - التابع
store
: يربط قيمة محددة مع مفتاح محدد في الكائنHash
الذي استدعي معه