معامل التعيين [] الخاص بالصنف Array في روبي

من موسوعة حسوب
< Ruby‏ | Array
(بالتحويل من Ruby/Array/assign operato)

يعيّن المعامل [] قيمة عنصر ذي فهرس محدد، أو قيم عدة عناصر تبدأ عند عنصر محدد وتمتد عددًا محددًا من العناصر، أو قيم عدة عناصر موجودة عند مجال محدد في مصفوفة.

إن كانت الفهارس تشير إلى عناصر تقع خارج نطاق المصفوفة المعطاة، فستُوسَّع المصفوفة تلقائيًا. تُدرج العناصر في المصفوفة عند الفهرس start إن كانت قيمة الوسيط length تساوي 0.

إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع العنصر بدءًا من نهاية المصفوفة، إذ تمثِّل القيمة ‎-1 فهرس العنصر الأخير. بالنسبة للوسيطين start و range، يكون فهرس البداية قبل العنصر.

سيُطلق الخطأ IndexError في حالة تجاوز الفهرس السالب المعطى بداية المصفوفة.

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

 ary[index] = obj  obj
ary[start, length] = obj or other_ary or nil  obj or other_ary or nil
ary[range] = obj or other_ary or nil  obj or other_ary or nil

المعاملات

index

عدد صحيح يمثل فهرس العنصر المراد تعيين قيمته في المصفوفة المعطاة.

start

عدد صحيح يمثل فهرس البداية للعناصر المراد تعيين قيمتها في المصفوفة المعطاة.

length

عدد صحيح يمثل طول العناصر المراد تعيين قيمتها في المصفوفة المعطاة.

range

مجال يحدد فهرس البداية وفهرس النهاية لمجال العناصر المراد تعيين قيمتها في المصفوفة المعطاة.

أمثلة

بعض الأمثلة لاستخدام معامل التعيين []:

 a = Array.new
a[4] = "4";                 #=> [nil, nil, nil, nil, "4"]
a[0, 3] = [ 'a', 'b', 'c' ] #=> ["a", "b", "c", nil, "4"]
a[1..2] = [ 1, 2 ]          #=> ["a", 1, 2, nil, "4"]
a[0, 2] = "?"               #=> ["?", 2, nil, "4"]
a[0..2] = "A"               #=> ["A", "4"]
a[-1]   = "Z"               #=> ["A", "Z"]
a[1..-1] = nil              #=> ["A", nil]
a[1..-1] = []               #=> ["A"]
a[0, 0] = [ 1, 2 ]          #=> [1, 2, "A"]
a[3, 0] = "B"               #=> [1, 2, "A", "B"]

انظر أيضًا

  • معامل الفهرسة []: يجلب عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.
  • التابع push: يضيف جميع الكائنات المُمرّرة إليه إلى نهاية المصفوفة التي استُدعيت معه.
  • التابع shift: يحذف أول عنصر أو أول n عنصر من عناصر مصفوفة ثم يعيده أو يعيد مصفوفة تحوي العناصر المحذوفة.
  • التابع !map: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي طُبِّقَت عليه.

مصادر