الفرق بين المراجعتين لصفحة: «Ruby/Array/assign operator»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: معامل التعيين [] الخاص بالصنف Array في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method ...' |
لا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Array]] | [[تصنيف: Ruby Array]] | ||
يعيّن المعامل [] قيمة عنصر ذي فهرس محدد، أو قيم عدة عناصر تبدأ عند عنصر محدد وتمتد عددًا محددًا من العناصر، أو قيم عدة عناصر موجودة عند مجال محدد في مصفوفة. | يعيّن المعامل <code>[]</code> قيمة عنصر ذي فهرس محدد، أو قيم عدة عناصر تبدأ عند عنصر محدد وتمتد عددًا محددًا من العناصر، أو قيم عدة عناصر موجودة عند مجال محدد في مصفوفة. | ||
إن كانت الفهارس تشير إلى عناصر تقع خارج نطاق المصفوفة المعطاة، فستُوسَّع المصفوفة تلقائيًا. تُدرج العناصر في المصفوفة عند الفهرس <code>start</code> إن كانت قيمة الوسيط | |||
إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع العنصر بدءًا من نهاية المصفوفة، إذ تمثِّل القيمة -1 فهرس العنصر الأخير. بالنسبة للوسيطين <code>start</code> و <code>range</code>، يكون فهرس البداية قبل العنصر. | إن كانت الفهارس تشير إلى عناصر تقع خارج نطاق المصفوفة المعطاة، فستُوسَّع المصفوفة تلقائيًا. تُدرج العناصر في المصفوفة عند الفهرس <code>start</code> إن كانت قيمة الوسيط <code>length</code> تساوي 0. | ||
إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع العنصر بدءًا من نهاية المصفوفة، إذ تمثِّل القيمة <code>-1</code> فهرس العنصر الأخير. بالنسبة للوسيطين <code>start</code> و <code>range</code>، يكون فهرس البداية قبل العنصر. | |||
سيُطلق الخطأ <code>IndexError</code> في حالة تجاوز الفهرس السالب المعطى بداية المصفوفة. | سيُطلق الخطأ <code>IndexError</code> في حالة تجاوز الفهرس السالب المعطى بداية المصفوفة. | ||
==البنية العامة== | ==البنية العامة== | ||
سطر 13: | سطر 16: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
=== <code>index</code> === | |||
عدد صحيح يمثل فهرس العنصر المراد تعيين قيمته في المصفوفة المعطاة. | عدد صحيح يمثل فهرس العنصر المراد تعيين قيمته في المصفوفة المعطاة. | ||
<code>start</code> | |||
=== <code>start</code> === | |||
عدد صحيح يمثل فهرس البداية للعناصر المراد تعيين قيمتها في المصفوفة المعطاة. | عدد صحيح يمثل فهرس البداية للعناصر المراد تعيين قيمتها في المصفوفة المعطاة. | ||
=== <code>length</code> === | |||
عدد صحيح يمثل طول العناصر المراد تعيين قيمتها في المصفوفة المعطاة. | عدد صحيح يمثل طول العناصر المراد تعيين قيمتها في المصفوفة المعطاة. | ||
<code>range</code> | |||
=== <code>range</code> === | |||
مجال يحدد فهرس البداية وفهرس النهاية لمجال العناصر المراد تعيين قيمتها في المصفوفة المعطاة. | مجال يحدد فهرس البداية وفهرس النهاية لمجال العناصر المراد تعيين قيمتها في المصفوفة المعطاة. | ||
==أمثلة== | ==أمثلة== | ||
بعض الأمثلة لاستخدام معامل التعيين []: | بعض الأمثلة لاستخدام معامل التعيين <code>[]</code>: | ||
<syntaxhighlight lang="ruby"> a = Array.new | <syntaxhighlight lang="ruby"> a = Array.new | ||
a[4] = "4"; #=> [nil, nil, nil, nil, "4"] | a[4] = "4"; #=> [nil, nil, nil, nil, "4"] | ||
سطر 36: | سطر 43: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
* معامل الفهرسة []: يجلب عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة. | * معامل الفهرسة <code>[[Ruby/Array/index operator|[]]]</code>: يجلب عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة. | ||
* التابع [[Ruby/Array/push | <code>push</code>]]: يضيف جميع الكائنات المُمرّرة إليه إلى نهاية المصفوفة التي استُدعيت معه. | * التابع [[Ruby/Array/push | <code>push</code>]]: يضيف جميع الكائنات المُمرّرة إليه إلى نهاية المصفوفة التي استُدعيت معه. | ||
* التابع [[Ruby/Array/shift | <code>shift</code>]]: يحذف أول عنصر أو أول <code>n</code> عنصر من عناصر مصفوفة ثم يعيده أو يعيد مصفوفة تحوي العناصر المحذوفة. | * التابع [[Ruby/Array/shift | <code>shift</code>]]: يحذف أول عنصر أو أول <code>n</code> عنصر من عناصر مصفوفة ثم يعيده أو يعيد مصفوفة تحوي العناصر المحذوفة. | ||
* التابع | * التابع <code>[[Ruby/Array/!map|!map]]</code>: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي طُبِّقَت عليه. | ||
==مصادر== | ==مصادر== | ||
* قسم المعامل [] في الصنف Array في توثيق روبي الرسمي. | * [https://ruby-doc.org/core-2.5.1/Array.html#method-i-5B-5D-3D <nowiki>قسم المعامل [] في الصنف Array في توثيق روبي الرسمي.</nowiki>] |
مراجعة 17:51، 6 سبتمبر 2018
يعيّن المعامل []
قيمة عنصر ذي فهرس محدد، أو قيم عدة عناصر تبدأ عند عنصر محدد وتمتد عددًا محددًا من العناصر، أو قيم عدة عناصر موجودة عند مجال محدد في مصفوفة.
إن كانت الفهارس تشير إلى عناصر تقع خارج نطاق المصفوفة المعطاة، فستُوسَّع المصفوفة تلقائيًا. تُدرج العناصر في المصفوفة عند الفهرس 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
: يستدعي كتلة برمجية محدَّدة مع كل عنصر من عناصر مصفوفة ثمَّ يضع القيمة التي أعادتها تلك الكتلة مكان العنصر الذي طُبِّقَت عليه.