الفرق بين المراجعتين ل"Ruby/Struct/index operator"

من موسوعة حسوب
< Ruby‏ | Struct
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>[]‎</code> الخاص بالصنف <code>Struct</code> في روبي}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: المعامل <code>[]‎</code> الخاص بالصنف <code>Struct</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
[[تصنيف: Ruby Method]]
+
[[تصنيف: Ruby Operator]]
 
[[تصنيف: Ruby Struct]]
 
[[تصنيف: Ruby Struct]]
معامل الفهرسة - يُعيد قيمة عضو ال[[Ruby/Struct|بنية]] المعطى <code>member</code> (انظر فقرة البنية العامة)، أو العضو ذو الفهرس <code>index</code>.   
+
يجلب المعامل <code>[]</code> قيمة عضو ال[[Ruby/Struct|بنية]] المعطى، أو قيمة العضو ذي الفهرس المحدَّد.   
 
 
يطلق الاستثناء <code>[[Ruby/NameError|NameError]]</code> إن لم يكن <code>member</code> موجودًا، أو الاستثناء <code>[[Ruby/IndexError|IndexError]]</code> إن كان <code>index</code> خارج النطاق.
 
 
==البنية العامة==
 
==البنية العامة==
 
<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|بنية]] المعطى <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>:
+
مثال على استخدام المعامل <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>: معامل التساوي.
+
* المعامل <code>[[Ruby/Struct/equality_operator|==]]</code>: يتحقق إن كان [[Ruby/Struct|لبنية]] ما نفس الصنف الفرعي ونفس قيم الأعضاء مقارنةً [[Ruby/Struct|ببنية]] أخرى.
* التابع ‎<code>[[Ruby/Struct/index_operator-3D|[]=‎]]</code>: معامل التعيين.
+
* المعامل ‎<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 قسم التابع <code><nowiki>[]</nowiki></code>‎ في الصنف Struct‎ في توثيق روبي الرسمي.]
+
*[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.

مصادر