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

من موسوعة حسوب
< Ruby‏ | Array
مراجعة 11:18، 6 سبتمبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>Array.fetch</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: 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: يحذف عناصر المصفوفة الأولى التي تحقِّق شرطًا محدَّدًا ثمَّ يعيد مصفوفة جديدة تحوي بقية العناصر.

مصادر

  • قسم التابع fetch في الصنف Array في توثيق روبي الرسمي.