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

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

مصادر