التابع Enumerable.find_index في روبي

من موسوعة حسوب
مراجعة 07:16، 30 ديسمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (إنشاء الصفحة.)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يوازن التابع find_index كل عنصر من عناصر الكائن القابل للتعداد الذي استدعي معه مع قيمة محدَّدة ثم يعيد فهرس أول قيمة مطابقة، أو يمرِّر تلك العناصر إلى الكتلة المعطاة ويعيد فهرس أول عنصر محقق لها (لا تعيد معه القيمة false). إن لم يتطابق أو يُعثَر على أي عنصر محقق للكتلة، فسيعيد التابع القيمة nil.

إن لم تُعطَ أية كتلة ولم تُمرَّر أية قيمة، فسيعيد التابع كائنًا من النوع Enumerator.

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

find_index(value)  int or nil
find_index { |obj| block }  int or nil
find_index  an_enumerator

المعاملات

value

القيمة المراد البحث عنها في الكائن القابل للتعداد المعطى.

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

يعاد فهرس أول عنصر مطابق للقيمة value من الكائن القابل للتعداد المعطى، أو محقق للكتلة block (تعيد معه قيمة صحيحة) بعد تمريره إليها إن لم تعطَ القيمة value، أو يعاد كائن من النوع Enumerator إن لم تعطَ القيمة value ولا الكتلة.

أمثلة

مثال على استعمال التابع find_index:

(1..10).find_index  { |i| i % 5 == 0 and i % 7 == 0 }  #=> nil
(1..100).find_index { |i| i % 5 == 0 and i % 7 == 0 }  #=> 34
(1..100).find_index(50)                                #=> 49

انظر أيضًا

  • التابع find: يمرِّر كل عنصر من عناصر الكائن القابل للتعداد الذي استدعي معه إلى الكتلة المعطاة ثم يعيد أول عنصر محقق لها (لا تعيد معه القيمة false).
  • التابع find_all: يعيد مصفوفة تحوي جميع العناصر المحققة للكتلة المعطاة (أي التي تعيدها معها قيمة صحيحة [true value]) من عناصر الكائن القابل للتعداد الذي استدعي معه.

مصادر