التابع Array.fetch في روبي

من موسوعة حسوب
< Ruby‏ | Array

يجلب التابع fetch عنصرًا ذا فهرس محدَّد من مصفوفة. إن كان الفهرس المعطى لعنصرٍ يقع خارج نطاق المصفوفة، فسيُطلَق الخطأ IndexError. يمكن تجنب إطلاق هذا الخطأ بتمرير وسيطٍ ثانٍ أو كتلة برمجية إلى التابع fetch ليُظهَر أو تُنفَّذ في مثل هذه الحالة.

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

 fetch(index)  obj
fetch(index, default)  obj
fetch(index) { |index| block }  obj

المعاملات

index

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

default

قيمة افتراضية تُطبَع -بدلًا من إطلاق الخطأ IndexError- عندما يشير الفهرس index لعنصر يقع خارج نطاق المصفوفة.

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

يعاد العنصر ذو الفهرس index من المصفوفة المعطاة. إن كانت قيمة الفهرس index سالبة، فسيُحسَب موقع العنصر بدءًا من نهاية المصفوفة.

إن كان الفهرس index يقع خارج مجال تلك المصفوفة المعطاة، فسيُرمى الخطأ IndexError، أو تُطبَع قيمة الوسيط default الافتراضية (إن أعطي)، أو تُنفَّذ الكتلة block (إن أعطيت).

أمثلة

بعض الأمثلة على استخدام التابع fetch:

 a = [ 11, 22, 33, 44 ]
a.fetch(1)               #=> 22
a.fetch(-1)              #=> 44
a.fetch(4, 'cat')        #=> "cat"
a.fetch(100) { |i| puts "#{i} is out of bounds" }
                        #=> "100 is out of bounds"

انظر أيضًا

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

مصادر