التابع Array.slice
في روبي
يجلب التابع slice
عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.
إن مُرِّرت قيم سالبة للفهارس، فسيُحسَب موضع العنصر بدءًا من نهاية المصفوفة، إذ تمثل القيمة -1
فهرس العنصر الأخير.
ستُعاد مصفوفة فارغة في حال كان فهرس بداية المجال المحدد يقع عند نهاية المصفوفة.
البنية العامة
slice(index) → obj or nil
slice(start, length) → new_ary or nil
slice(range) → new_ary or nil
المعاملات
index
عدد صحيح يمثل فهرس العنصر المراد اقتطاعه من المصفوفة المعطاة.
start
عدد صحيح يمثل فهرس البداية للعناصر المراد اقتطاعها من المصفوفة المعطاة.
length
عدد صحيح يمثل طول العناصر المراد اقتطاعها من المصفوفة المعطاة.
range
مجال يحدد فهرس البداية وفهرس النهاية لمجال العناصر المراد اقتطاعها من المصفوفة المعطاة.
القيم المعادة
يعاد العنصر ذو الفهرس index
، أو مصفوفة جديدة تحوي العناصر المحددة بعنصر البداية ذي الفهرس start
وبطول length
أو المحددة بالمجال range
، أو تعاد القمية nil
إن كان إن كان الفهرس index
أو فهرس البداية start
يقع خارج نطاق المصفوفة.
أمثلة
بعض الأمثلة لاستخدام التابع slice
:
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
: يحدد جميع عناصر المصفوفة المحققة لشرط معين ويضعها في مصفوفة جديدة. - المعامل
[]
: يجلب عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من مصفوفة.