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

من موسوعة حسوب
< Ruby‏ | Array
اذهب إلى التنقل اذهب إلى البحث
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Array]]
 
[[تصنيف: Ruby Array]]
يجلب المعامل [] عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.
+
يجلب المعامل <code>[]</code> عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.
إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع العنصر بدءًا من نهاية المصفوفة، إذ تمثل القيمة ‎-1 فهرس العنصر الأخير.
+
 
 +
إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع العنصر بدءًا من نهاية المصفوفة، إذ تمثل القيمة ‎<code>-1</code> فهرس العنصر الأخير.
 +
 
 
بالنسبة للوسيطين <code>start</code> و <code>range</code>، يكون فهرس البداية قبل العنصر. إضافةً إلى ذلك، ستُعاد مصفوفة فارغة في حال كان فهرس بداية المجال المحدد يقع عند نهاية المصفوفة.
 
بالنسبة للوسيطين <code>start</code> و <code>range</code>، يكون فهرس البداية قبل العنصر. إضافةً إلى ذلك، ستُعاد مصفوفة فارغة في حال كان فهرس بداية المجال المحدد يقع عند نهاية المصفوفة.
 
==البنية العامة==
 
==البنية العامة==
سطر 12: سطر 14:
 
  </syntaxhighlight>
 
  </syntaxhighlight>
 
==المعاملات==
 
==المعاملات==
[[Ruby/Array/index | <code>index</code>]]
+
 
 +
=== <code>index</code> ===
 
عدد صحيح يمثل فهرس العنصر المراد جلبه من المصفوفة المعطاة.
 
عدد صحيح يمثل فهرس العنصر المراد جلبه من المصفوفة المعطاة.
<code>start</code>
+
 
 +
=== <code>start</code> ===
 
عدد صحيح يمثل فهرس البداية للعناصر المراد جلبها من المصفوفة المعطاة.
 
عدد صحيح يمثل فهرس البداية للعناصر المراد جلبها من المصفوفة المعطاة.
[[Ruby/Array/length | <code>length</code>]]
+
 
 +
=== <code>length</code> ===
 
عدد صحيح يمثل طول العناصر المراد جلبها من المصفوفة المعطاة.
 
عدد صحيح يمثل طول العناصر المراد جلبها من المصفوفة المعطاة.
<code>range</code>
+
 
 +
=== <code>range</code> ===
 
مجال يحدد فهرس البداية وفهرس النهاية لمجال العناصر المراد جلبها من المصفوفة المعطاة.
 
مجال يحدد فهرس البداية وفهرس النهاية لمجال العناصر المراد جلبها من المصفوفة المعطاة.
 
==القيم المعادة==
 
==القيم المعادة==
يعاد العنصر ذو الفهرس [[Ruby/Array/index | <code>index</code>]]، أو مصفوفة جديدة تحوي العناصر المحددة بعنصر البداية ذي الفهرس <code>start</code> وبطول [[Ruby/Array/length | <code>length</code>]] أو المحددة بالمجال <code>range</code>، أو تعاد القيمة <code>nil</code> إن كان إن كان الفهرس [[Ruby/Array/index | <code>index</code>]] أو فهرس البداية <code>start</code> يقع خارج نطاق المصفوفة.
+
يعاد العنصر ذو الفهرس <code>index</code>، أو مصفوفة جديدة تحوي العناصر المحددة بعنصر البداية ذي الفهرس <code>start</code> وبطول <code>length</code> أو المحددة بالمجال <code>range</code>، أو تعاد القيمة <code>nil</code> إن كان إن كان الفهرس <code>index</code> أو فهرس البداية <code>start</code> يقع خارج نطاق المصفوفة.
 
==أمثلة==
 
==أمثلة==
بعض الأمثلة لاستخدام المعامل []:
+
بعض الأمثلة لاستخدام المعامل <code>[]</code>:
 
<syntaxhighlight lang="ruby"> a = [ "a", "b", "c", "d", "e" ]
 
<syntaxhighlight lang="ruby"> a = [ "a", "b", "c", "d", "e" ]
 
a[2] +  a[0] + a[1]    #=> "cab"
 
a[2] +  a[0] + a[1]    #=> "cab"
سطر 39: سطر 45:
 
  </syntaxhighlight>
 
  </syntaxhighlight>
 
==انظر أيضًا==
 
==انظر أيضًا==
* معامل التعيين []: يعيّن قيمة عنصر ذي فهرس محدد، أو قيم عدة عناصر تبدأ عند عنصر محدد وتمتد عددًا محددًا من العناصر، أو قيم عدة عناصر موجودة عند مجال محدد في مصفوفة.
+
* معامل التعيين <code>[[Ruby/Array/assign operato|[]]]</code>: يعيّن قيمة عنصر ذي فهرس محدد، أو قيم عدة عناصر تبدأ عند عنصر محدد وتمتد عددًا محددًا من العناصر، أو قيم عدة عناصر موجودة عند مجال محدد في مصفوفة.
 
* التابع [[Ruby/Array/slice | <code>slice</code>]]: يجلب عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.
 
* التابع [[Ruby/Array/slice | <code>slice</code>]]: يجلب عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.
 
* التابع [[Ruby/Array/at | <code>at</code>]]: يجلب عنصرًا ذي فهرس محدد من المصفوفة المستدعاة معه.
 
* التابع [[Ruby/Array/at | <code>at</code>]]: يجلب عنصرًا ذي فهرس محدد من المصفوفة المستدعاة معه.
سطر 46: سطر 52:
 
* المعامل +: يجمع مصفوفتين معًا في مصفوفة واحدة جديدة.
 
* المعامل +: يجمع مصفوفتين معًا في مصفوفة واحدة جديدة.
 
==مصادر==
 
==مصادر==
* قسم المعامل [] في الصنف Array في توثيق روبي الرسمي.
+
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-5B-5D <nowiki>قسم المعامل [] في الصنف Array في توثيق روبي الرسمي.</nowiki>]

مراجعة 17:46، 6 سبتمبر 2018

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

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

بالنسبة للوسيطين start و range، يكون فهرس البداية قبل العنصر. إضافةً إلى ذلك، ستُعاد مصفوفة فارغة في حال كان فهرس بداية المجال المحدد يقع عند نهاية المصفوفة.

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

 ary[index]  obj or nil
ary[start, length]  new_ary or nil
ary[range]  new_ary or nil

المعاملات

index

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

start

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

length

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

range

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

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

يعاد العنصر ذو الفهرس index، أو مصفوفة جديدة تحوي العناصر المحددة بعنصر البداية ذي الفهرس start وبطول length أو المحددة بالمجال range، أو تعاد القيمة nil إن كان إن كان الفهرس index أو فهرس البداية start يقع خارج نطاق المصفوفة.

أمثلة

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

 a = [ "a", "b", "c", "d", "e" ]
a[2] +  a[0] + a[1]    #=> "cab"
a[6]                   #=> nil
a[1, 2]                #=> [ "b", "c" ]
a[1..3]                #=> [ "b", "c", "d" ]
a[4..7]                #=> [ "e" ]
a[6..10]               #=> nil
a[-3, 3]               #=> [ "c", "d", "e" ]
# حالات خاصة
a[5]                   #=> nil
a[6, 1]                #=> nil
a[5, 1]                #=> []
a[5..10]               #=> []

انظر أيضًا

  • معامل التعيين []: يعيّن قيمة عنصر ذي فهرس محدد، أو قيم عدة عناصر تبدأ عند عنصر محدد وتمتد عددًا محددًا من العناصر، أو قيم عدة عناصر موجودة عند مجال محدد في مصفوفة.
  • التابع slice: يجلب عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.
  • التابع at: يجلب عنصرًا ذي فهرس محدد من المصفوفة المستدعاة معه.
  • التابع values_at: يجلب عنصرًا واحدًا أو أكثر ذي فهرس محدد من مصفوفة.
  • التابع select: يحدد جميع عناصر المصفوفة المحققة لشرط معين ويضعها في مصفوفة جديدة.
  • المعامل +: يجمع مصفوفتين معًا في مصفوفة واحدة جديدة.

مصادر