التابع Array.keep_if في روبي

من موسوعة حسوب
< Ruby‏ | Array

يٌبقِي التابع keep_if على جميع عناصر المصفوفة التي تحقق شرطًا معينًا ويحذف العناصر الأخرى المتبقية.

إن لم تمرَّر كتلة برمجية، فسيعيد التابع keep_if كائنًا من النوع Enumerator.

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

keep_if { |item| block }  ary
keep_if  Enumerator

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

تعاد المصفوفة نفسها المعطاة بعد إزالة جميع العناصر الغير محققة للشرط الذي تحدده الكتلة block، أو يعاد كائن من النوع إن Enumerator إن لم تعطَ الكتلة block.

أمثلة

مثالٌ على استخدام التابع keep_if:

a = %w{ a b c d e f }
a.keep_if { |v| v =~ /[aeiou]/ }  #=> ["a", "e"]

انظر أيضًا

  • التابع delete_if: يحذف جميع عناصر المصفوفة التي تعيد الكتلة البرمجية المعطاة القيمة true عند تطبيقها على كل عنصر منها.
  • التابع drop_while: يحذف عناصر المصفوفة الأولى التي تحقِّق شرطًا محدَّدًا ثمَّ يعيد مصفوفة جديدة تحوي بقية العناصر.
  • التابع reject!‎: يحذف جميع عناصر المصفوفة التي لم تحقق شرطًا محددًا.
  • التابع slice!‎: يقتطع‎ عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من المصفوفة التي استدعيت معه.

مصادر