الفرق بين المراجعتين لصفحة: «Ruby/Array/fetch»

من موسوعة حسوب
< Ruby‏ | Array
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>Array.fetch</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby Array...'
 
لا ملخص تعديل
سطر 10: سطر 10:
  </syntaxhighlight>
  </syntaxhighlight>
==المعاملات==
==المعاملات==
[[Ruby/Array/index | <code>index</code>]]
 
=== <code>index</code> ===
عدد صحيح يمثل فهرس العنصر المراد جلبه من المصفوفة المعطاة.
عدد صحيح يمثل فهرس العنصر المراد جلبه من المصفوفة المعطاة.
<code>default</code>
 
قيمة افتراضية تُطبَع -بدلًا من إطلاق الخطأ <code>IndexError</code>- عندما يشير الفهرس [[Ruby/Array/index | <code>index</code>]] لعنصر يقع خارج نطاق المصفوفة.
=== <code>default</code> ===
قيمة افتراضية تُطبَع -بدلًا من إطلاق الخطأ <code>IndexError</code>- عندما يشير الفهرس <code>index</code> لعنصر يقع خارج نطاق المصفوفة.
==القيم المعادة==
==القيم المعادة==
يعاد العنصر ذو الفهرس [[Ruby/Array/index | <code>index</code>]] من المصفوفة المعطاة. إن كانت قيمة الفهرس [[Ruby/Array/index | <code>index</code>]] سالبة، فسيُحسَب موقع العنصر بدءًا من نهاية المصفوفة.
يعاد العنصر ذو الفهرس <code>index</code> من المصفوفة المعطاة. إن كانت قيمة الفهرس <code>index</code> سالبة، فسيُحسَب موقع العنصر بدءًا من نهاية المصفوفة.
إن كان الفهرس [[Ruby/Array/index | <code>index</code>]] يقع خارج مجال تلك المصفوفة المعطاة، فسيُرمى الخطأ <code>IndexError</code>، أو تُطبَع قيمة الوسيط <code>default</code> الافتراضية (إن أعطي)، أو تُنفَّذ الكتلة <code>block</code> (إن أعطيت).
 
إن كان الفهرس <code>index</code> يقع خارج مجال تلك المصفوفة المعطاة، فسيُرمى الخطأ <code>IndexError</code>، أو تُطبَع قيمة الوسيط <code>default</code> الافتراضية (إن أعطي)، أو تُنفَّذ الكتلة <code>block</code> (إن أعطيت).
==أمثلة==
==أمثلة==
بعض الأمثلة على استخدام التابع <code>fetch</code>:
بعض الأمثلة على استخدام التابع <code>fetch</code>:
سطر 32: سطر 35:
* التابع [[Ruby/Array/drop_while | <code>drop_while</code>]]: يحذف عناصر المصفوفة الأولى التي تحقِّق شرطًا محدَّدًا ثمَّ يعيد مصفوفة جديدة تحوي بقية العناصر.
* التابع [[Ruby/Array/drop_while | <code>drop_while</code>]]: يحذف عناصر المصفوفة الأولى التي تحقِّق شرطًا محدَّدًا ثمَّ يعيد مصفوفة جديدة تحوي بقية العناصر.
==مصادر==
==مصادر==
* قسم التابع fetch في الصنف Array في توثيق روبي الرسمي.
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-fetch قسم التابع fetch في الصنف Array في توثيق روبي الرسمي.]

مراجعة 11:20، 6 سبتمبر 2018

يجلب التابع 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: يحذف عناصر المصفوفة الأولى التي تحقِّق شرطًا محدَّدًا ثمَّ يعيد مصفوفة جديدة تحوي بقية العناصر.

مصادر