التابع Array.any?‎ في روبي

من موسوعة حسوب
< Ruby‏ | Array
مراجعة 06:36، 2 أكتوبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يتحقق التابع any?‎ إذا كان كل عنصر من عناصر المصفوفة المعطاة مححقًا لشرط منطقي محدد أو كانت قيمة كل عنصر لا تساوي القيمة false (أي لا يعيد أي عنصر القيمة false أو nil عند التحقق من مطابقته للشرط). إن لم تمرَّر أية كتلة برمجية تمثل الشرط، فستضيف روبي الكتلة { ‎ |obj| block} ضمنيًا، وسيعيد حينئذٍ التابع any?‎ القيمة true إن لم يتساوى أي عنصر من عناصر المصفوفة مع القيمة false أو القيمة nil.

إن مرِّر نمطٌ (pattern) بدلًا من كتلة برمجية، فسيعيد التابع any?‎ القيمة true إذا كان أحد عناصر المصفوفة يُطابق ذلك النمط.

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

 any? [{ |obj| block }]  true or false
any?(pattern)  true or false

المعاملات

pattern

تعبير نمطي يراد منه مطابقة عناصر محددة.

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

تعاد القيمة true المنطقية إذا كان كل عنصر من عناصر المصفوفة المعطاة محققًا للشرط block المنطقي المعطى، أو لا يساوي أي عنصر من عناصر المصفوفة القيمة false أو القيمة nil إن لم يعطَ الشرط block، أو تطابق أحد عناصر المصفوفة مع النمط pattern المعطى. خلا ذلك، تعاد القيمة false.

أمثلة

بعض الأمثلة عن استخدام التابع any?‎:

 %w[ant bear cat].any? { |word| word.length >= 3 } #=> true
%w[ant bear cat].any? { |word| word.length >= 4 } #=> true
%w[ant bear cat].any?(/d/)                        #=> false
[nil, true, 99].any?(Integer)                     #=> true
[nil, true, 99].any?                              #=> true
[].any?                                           #=> false

انظر أيضًا

  • التابع include?‎: يتحقق إن كان العنصر المُمرّر إليه موجودًا في المصفوفة التي استُدعيت معه.
  • التابع frozen?: يتحقق إن كانت مصفوفةٌ مُجمَّدةً (frozen) بشكل دائم أو مؤقت إلى حين إعادة ترتيبها.
  • التابع empty?‎: يتحقق إن كانت مصفوفةٌ فارغةً أم لا.

مصادر