التابع Enumerable.find
في روبي
يمرِّر التابع find
كل عنصر من عناصر الكائن القابل للتعداد الذي استدعي معه إلى الكتلة المعطاة ثم يعيد أول عنصر محقق لها (لا تعيد معه القيمة false
). إن لم يُعثَر على أي عنصر متطابق، فسيستدعي التابع find
التابع المُمرَّر إليه ويعيد القيمة التي يعيدها، أو تعاد القيمة nil
إن يُعطَ ذلك التابع.
إن لم تُعطَ أية كتلة، فسيعيد التابع كائنًا من النوع Enumerator
.
البنية العامة
find(ifnone = nil) { |obj| block } → obj or nil
find(ifnone = nil) → an_enumerator
المعاملات
ifnone
التابع المراد تنفيذه وإعادة القيمة الناتجة عنه إن لم يُعثَر على العنصر المحقق للكتلة المعطاة. القيمة الافتراضية هي: nil
.
القيمة المعادة
يعاد أول عنصر محقق للكتلة block
(أي لا تعيد معه القيمة false
) من عناصر الكائن القابل للتعداد المعطى بعد تمريره إليها، أو يعاد ناتج تنفيذ التابع ifnone
إن لم يُعثَر على أي عنصر محقق للكتلة، أو تعاد القيمة nil
خلاف ذلك. إن لم تُعطَ أية كتلة، فسيعاد كائن من النوع Enumerator
.
أمثلة
مثال على استعمال التابع find
:
(1..100).detect => #<Enumerator: 1..100:detect>
(1..100).find => #<Enumerator: 1..100:find>
(1..10).detect { |i| i % 5 == 0 and i % 7 == 0 } #=> nil
(1..10).find { |i| i % 5 == 0 and i % 7 == 0 } #=> nil
(1..100).detect { |i| i % 5 == 0 and i % 7 == 0 } #=> 35
(1..100).find { |i| i % 5 == 0 and i % 7 == 0 } #=> 35
انظر أيضًا
- التابع
find_all
: يعيد مصفوفة تحوي جميع العناصر المحققة للكتلة المعطاة (أي التي تعيدها معها قيمة صحيحة [true value]) من عناصر الكائن القابل للتعداد الذي استدعي معه. - التابع
find_index
: يوازن كل عنصر من عناصر الكائن القابل للتعداد الذي استدعي معه مع قيمة محدَّدة ثم يعيد فهرس أول قيمة مطابقة، أو يمرِّر تلك العناصر إلى الكتلة المعطاة ويعيد فهرس أول عنصر محقق لها (لا تعيد معه القيمةfalse
).