الفرق بين المراجعتين لصفحة: «Ruby/Struct/5B-5D-3D»

من موسوعة حسوب
< 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> عند استدعائه بالشكل <code>struct[member/index] = obj</code> قيمة عضو ال[[Ruby/Struct|بنية]] <code>member</code> المعطى أو العضو الموجود عند الفهرس <code>index</code> إلى القيمة <code>obj</code>.   
 
يطلق الاستثناء <code>[[Ruby/NameError|NameError]]</code> إن كان <code>member</code> غير موجود، أو الاستثناء <code>[[Ruby/IndexError|IndexError]]</code> إن كان <code>index</code> خارج النطاق.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">struct[member] = obj → obj
<syntaxhighlight lang="ruby">struct[member] = obj → obj
struct[index]  = obj → obj‎</syntaxhighlight>
struct[index]  = obj → obj‎</syntaxhighlight>
==القيمة المُعادة==
 
== المعاملات ==
 
=== <code>member</code> ===
اسم العضو المراد تعيين قيمته.
 
=== <code>index</code> ===
فهرس العضو المراد تعيين قيمته.
 
==القيمة المعادة==
تعاد القيمة <code>obj</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)
سطر 16: سطر 29:
joe.name  #=> "Luke"
joe.name  #=> "Luke"
joe.zip    #=> "90210"‎</syntaxhighlight>
joe.zip    #=> "90210"‎</syntaxhighlight>
==انظر أيضا==
==انظر أيضًا==
* التابع <code>[[Ruby/Struct/index_operator|[]]]</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/index operator|[]]]</code>: يجلب قيمة عضو ال[[Ruby/Struct|بنية]] المعطى، أو قيمة العضو ذي الفهرس المحدَّد.
* التابع <code>[[Ruby/Struct/dig|dig]]</code>: يستخلص التابع <code>[]=</code> القيمة المتشعبة (nested) المحددة بواسطة تسلسل الكائنات <code>key</code> (انظر فقرة البنية العامة) عن طريق استدعاء <code>dig</code> في كل خطوة، ويُعيد <code>nil</code> إن كانت قيمة أي خطوة وسطية تساوي <code>nil</code>.
==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Struct.html#method-i-5B-5D-3D قسم التابع []=‎ في الصنف Struct‎ في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/Struct.html#method-i-5B-5D-3D <nowiki>قسم المعامل =[]‎ في الصنف Struct‎ في توثيق روبي الرسمي.</nowiki>]

المراجعة الحالية بتاريخ 06:28، 5 ديسمبر 2018

يضبط المعامل [] عند استدعائه بالشكل struct[member/index] = obj قيمة عضو البنية member المعطى أو العضو الموجود عند الفهرس index إلى القيمة obj.

يطلق الاستثناء NameError إن كان member غير موجود، أو الاستثناء IndexError إن كان index خارج النطاق.

البنية العامة

struct[member] = obj  obj
struct[index]  = obj  obj

المعاملات

member

اسم العضو المراد تعيين قيمته.

index

فهرس العضو المراد تعيين قيمته.

القيمة المعادة

تعاد القيمة obj المُعيّنة.

أمثلة

مثال على استخدام المعامل ‎[]=‎:

Customer = Struct.new(:name, :address, :zip)
joe = Customer.new("Joe Smith", "123 Maple, Anytown NC", 12345)
joe["name"] = "Luke"
joe[:zip]   = "90210"
joe.name   #=> "Luke"
joe.zip    #=> "90210"‎

انظر أيضًا

  • المعامل []: يجلب قيمة عضو البنية المعطى، أو قيمة العضو ذي الفهرس المحدَّد.

مصادر