الفرق بين المراجعتين لصفحة: «Ruby/Array/fetch»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>Array.fetch</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تصنيف: Ruby Array...' |
لا ملخص تعديل |
||
سطر 10: | سطر 10: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
=== <code>index</code> === | |||
عدد صحيح يمثل فهرس العنصر المراد جلبه من المصفوفة المعطاة. | عدد صحيح يمثل فهرس العنصر المراد جلبه من المصفوفة المعطاة. | ||
<code>default</code> | |||
قيمة افتراضية تُطبَع -بدلًا من إطلاق الخطأ <code>IndexError</code>- عندما يشير الفهرس | === <code>default</code> === | ||
قيمة افتراضية تُطبَع -بدلًا من إطلاق الخطأ <code>IndexError</code>- عندما يشير الفهرس <code>index</code> لعنصر يقع خارج نطاق المصفوفة. | |||
==القيم المعادة== | ==القيم المعادة== | ||
يعاد العنصر ذو الفهرس | يعاد العنصر ذو الفهرس <code>index</code> من المصفوفة المعطاة. إن كانت قيمة الفهرس <code>index</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
: يحذف عناصر المصفوفة الأولى التي تحقِّق شرطًا محدَّدًا ثمَّ يعيد مصفوفة جديدة تحوي بقية العناصر.