التابع Enumerable.grep
في روبي
< Ruby | Enumerable
يعيد التابع grep
مصفوفة تحوي كل عنصر مطابق لنمط محدَّد من عناصر الكائن القابل للتعداد الذي استدعي معه. إن أعطيت كتلة، فسيُمرَّر كل عنصر مطابق للنمط إليها ثم تعاد مصفوفة تحوي النتائج المقابلة التي تعيدها هذه الكتلة للعناصر المطابقة.
البنية العامة
grep(pattern) → array
grep(pattern) { |obj| block } → array
المعاملات
pattern
النمط المراد مطابقته لكل عنصر من عناصر الكائن القابل للتعداد المعطى.
القيمة المعادة
تعاد مصفوفة تحوي كل عنصر مطابق للنمط pattern
من عناصر الكائن القابل للتعداد المعطى، أو القيم التي تعيدها الكتلة لكل عنصر مطابق للنمط بعد تمريره إليها.
أمثلة
مثال على استعمال التابع grep
:
(1..100).grep 38..44 #=> [38, 39, 40, 41, 42, 43, 44]
c = IO.constants
c.grep(/SEEK/) #=> [:SEEK_SET, :SEEK_CUR, :SEEK_END]
res = c.grep(/SEEK/) { |v| IO.const_get(v) }
res #=> [0, 1, 2]
انظر أيضًا
- التابع
find_all
: يعيد مصفوفة تحوي جميع العناصر المحققة للكتلة المعطاة (أي التي تعيدها معها قيمة صحيحة [true value]) من عناصر الكائن القابل للتعداد الذي استدعي معه.
- التابع
grep_v
: يعدُّ نسخة معاكسة للتابعgrep
، إذ يعيد مصفوفة تحوي كل العناصر الغير مطابقة لنمط محدَّد من عناصر الكائن القابل للتعداد المعطى.