الفرق بين المراجعتين لصفحة: «Ruby/Array/keep if»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
سطر 7: | سطر 7: | ||
إن لم تمرَّر كتلة برمجية، فسيعيد التابع <code>keep_if</code> كائنًا من النوع <code>[[Ruby/Enumerator|Enumerator]]</code>. | إن لم تمرَّر كتلة برمجية، فسيعيد التابع <code>keep_if</code> كائنًا من النوع <code>[[Ruby/Enumerator|Enumerator]]</code>. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby"> keep_if { |item| block } → ary | <syntaxhighlight lang="ruby">keep_if { |item| block } → ary | ||
keep_if → Enumerator | keep_if → Enumerator | ||
سطر 16: | سطر 16: | ||
==أمثلة== | ==أمثلة== | ||
مثالٌ على استخدام التابع <code>keep_if</code>: | مثالٌ على استخدام التابع <code>keep_if</code>: | ||
<syntaxhighlight lang="ruby"> a = %w{ a b c d e f } | <syntaxhighlight lang="ruby">a = %w{ a b c d e f } | ||
a.keep_if { |v| v =~ /[aeiou]/ } #=> ["a", "e"] | a.keep_if { |v| v =~ /[aeiou]/ } #=> ["a", "e"] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
* التابع [[Ruby/Array/delete_if | <code>delete_if</code>]]:يحذف جميع عناصر المصفوفة التي تعيد الكتلة البرمجية المعطاة القيمة <code>true</code> عند تطبيقها على كل عنصر منها. | * التابع<nowiki/>[[Ruby/Array/delete_if | <code>delete_if</code>]]: يحذف جميع عناصر المصفوفة التي تعيد الكتلة البرمجية المعطاة القيمة <code>true</code> عند تطبيقها على كل عنصر منها. | ||
* التابع [[Ruby/Array/drop_while | <code>drop_while</code>]]: يحذف عناصر المصفوفة الأولى التي تحقِّق شرطًا محدَّدًا ثمَّ يعيد مصفوفة جديدة تحوي بقية العناصر. | * التابع<nowiki/>[[Ruby/Array/drop_while | <code>drop_while</code>]]: يحذف عناصر المصفوفة الأولى التي تحقِّق شرطًا محدَّدًا ثمَّ يعيد مصفوفة جديدة تحوي بقية العناصر. | ||
* التابع<nowiki/>[[Ruby/Array/reject! | | * التابع<nowiki/> <code>[[Ruby/Array/reject!|reject!]]</code>: يحذف جميع عناصر المصفوفة التي لم تحقق شرطًا محددًا. | ||
* التابع [[Ruby/Array/slice! | <code>slice</code> | * التابع [[Ruby/Array/slice!|<code>slice!</code>]]: يقتطع عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من المصفوفة التي استدعيت معه. | ||
==مصادر== | ==مصادر== | ||
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-keep_if قسم التابع keep_if في الصنف Array في توثيق روبي الرسمي.] | * [https://ruby-doc.org/core-2.5.1/Array.html#method-i-keep_if قسم التابع keep_if في الصنف Array في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 07:51، 3 أكتوبر 2018
يٌبقِي التابع 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!
: يقتطع عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من المصفوفة التي استدعيت معه.