التابع FileTest.all?‎ في روبي

من موسوعة حسوب

يُمرِّر التابع all?‎ كل عنصر من عناصر المجموعة التي استدعيت معه إلى الكتلة المعطاة ثمَّ يتحقق من عدم إعادة هذه الكتلة القيمة false أو nil مع كل عنصر من تلك العناصر. إن لم تعطَ أية كتلة، فستُضيف روبي الكتلة { ‎|obj| obj } والتي تدفع التابع لإعادة القيمة true عندما لا تكون قيمة كل عنصر من عناصر المجموعة هي false أو nil.

إن مُرِّر نمط إلى التابع all?‎ بدلًا من الكتلة، فسيتحقق من تطابق هذا النمط مع كل عنصر من عناصر المجموعة المعطاة.

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

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

المعاملات

pattern

النمط المراد التحقق من مطابقته لكل عنصر من عناصر المجموعة المعطاة.

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

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

أمثلة

مثال على استعمال التابع all?‎:

%w[ant bear cat].all? { |word| word.length >= 3 } #=> true
%w[ant bear cat].all? { |word| word.length >= 4 } #=> false
%w[ant bear cat].all?(/t/)                        #=> false
[1, 2i, 3.14].all?(Numeric)                       #=> true
[nil, true, 99].all?                              #=> false
[].all?                                           #=> true

انظر أيضًا

  • التابع any?‎: يتحقق إن كان أحد عناصر المجموعة التي استدعيت معه محقَّقًا للكتلة المعطاة بعد تمريره إليها، أو لا يساوي false أو nil إن لم تُعطَ الكتلة، أو مطابقًا للنمط pattern المُمرَّر إليه.

مصادر