الفرق بين المراجعتين لصفحة: «Ruby/Struct/index operator»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>[]</code> الخاص بالصنف <code>Struct</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف:...' |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
| (مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
| سطر 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 | ||
struct[index] → object</syntaxhighlight> | struct[index] → object</syntaxhighlight> | ||
==القيمة | |||
== المعاملات == | |||
=== <code>member</code> === | |||
اسم العضو المراد جلب قيمته. | |||
=== <code>index</code> === | |||
فهرس العضو المراد جلب قيمته. | |||
==القيمة المعادة== | |||
تعاد قيمة عضو ال[[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) | ||
| سطر 15: | سطر 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.