التابع Array.keep_if
في روبي
يٌبقِي التابع 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!
: يقتطع عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من المصفوفة التي استدعيت معه.