الفرق بين المراجعتين لصفحة: «Ruby/Array/keep if»

من موسوعة حسوب
< Ruby‏ | Array
لا ملخص تعديل
ط مراجعة وتدقيق.
 
سطر 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! | <code>reject!</code>]]<code>‎</code>: يحذف جميع عناصر المصفوفة التي لم تحقق شرطًا محددًا.
* التابع<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!‎: يقتطع‎ عنصرًا ذي فهرس محدد، أو جزءًا محددًا ببداية وطول، أو مجالًا محددًا ببداية ونهاية من المصفوفة التي استدعيت معه.

مصادر