الفرق بين المراجعتين لصفحة: «Ruby/Struct/index operator»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: | <noinclude>{{DISPLAYTITLE: المعامل <code>[]</code> الخاص بالصنف <code>Struct</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby | [[تصنيف: Ruby Operator]] | ||
[[تصنيف: Ruby Struct]] | [[تصنيف: Ruby Struct]] | ||
يجلب المعامل <code>[]</code> قيمة عضو ال[[Ruby/Struct|بنية]] المعطى، أو قيمة العضو ذي الفهرس المحدَّد. | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">struct[member]→ object | <syntaxhighlight lang="ruby">struct[member]→ object | ||
سطر 13: | سطر 11: | ||
=== <code>member</code> === | === <code>member</code> === | ||
اسم العضو المراد جلب قيمته. | |||
=== <code>index</code> === | === <code>index</code> === | ||
فهرس. | فهرس العضو المراد جلب قيمته. | ||
==القيمة | ==القيمة المعادة== | ||
تعاد قيمة عضو ال[[Ruby/Struct|بنية]] | تعاد قيمة عضو ال[[Ruby/Struct|بنية]] <code>member</code> المعطى، أو العضو ذو الفهرس <code>index</code>. يطلق الاستثناء <code>[[Ruby/NameError|NameError]]</code> إن لم يكن <code>member</code> موجودًا، أو الاستثناء <code>[[Ruby/IndexError|IndexError]]</code> إن كان <code>index</code> خارج النطاق. | ||
==أمثلة== | ==أمثلة== | ||
مثال على استخدام | مثال على استخدام المعامل <code>[]</code>: | ||
<syntaxhighlight lang="ruby">Customer = Struct.new(:name, :address, :zip) | <syntaxhighlight lang="ruby">Customer = Struct.new(:name, :address, :zip) | ||
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345) | joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345) | ||
سطر 28: | سطر 26: | ||
joe[:name] #=> "Joe Smith" | joe[:name] #=> "Joe Smith" | ||
joe[0] #=> "Joe Smith"</syntaxhighlight> | joe[0] #=> "Joe Smith"</syntaxhighlight> | ||
==انظر | ==انظر أيضًا== | ||
* | * المعامل <code>[[Ruby/Struct/equality_operator|==]]</code>: يتحقق إن كان [[Ruby/Struct|لبنية]] ما نفس الصنف الفرعي ونفس قيم الأعضاء مقارنةً [[Ruby/Struct|ببنية]] أخرى. | ||
* | * المعامل <code>[[Ruby/Struct/5B-5D-3D|[]=]]</code>: يضبط عند استدعائه بالشكل <code>struct[member/index] = obj</code> قيمة عضو ال[[Ruby/Struct|بنية]] <code>member</code> المعطى أو العضو الموجود عند الفهرس <code>index</code> إلى القيمة <code>obj</code>. | ||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Struct.html#method-i-5B-5D قسم | *[http://ruby-doc.org/core-2.5.1/Struct.html#method-i-5B-5D قسم المعامل <nowiki>[]</nowiki> في الصنف Struct في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 06:28، 5 ديسمبر 2018
يجلب المعامل []
قيمة عضو البنية المعطى، أو قيمة العضو ذي الفهرس المحدَّد.
البنية العامة
struct[member]→ object
struct[index] → object
المعاملات
member
اسم العضو المراد جلب قيمته.
index
فهرس العضو المراد جلب قيمته.
القيمة المعادة
تعاد قيمة عضو البنية member
المعطى، أو العضو ذو الفهرس index
. يطلق الاستثناء NameError
إن لم يكن member
موجودًا، أو الاستثناء IndexError
إن كان index
خارج النطاق.
أمثلة
مثال على استخدام المعامل []
:
Customer = Struct.new(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe["name"] #=> "Joe Smith"
joe[:name] #=> "Joe Smith"
joe[0] #=> "Joe Smith"
انظر أيضًا
- المعامل
==
: يتحقق إن كان لبنية ما نفس الصنف الفرعي ونفس قيم الأعضاء مقارنةً ببنية أخرى. - المعامل
[]=
: يضبط عند استدعائه بالشكلstruct[member/index] = obj
قيمة عضو البنيةmember
المعطى أو العضو الموجود عند الفهرسindex
إلى القيمةobj
.