الفرق بين المراجعتين ل"Ruby/Array/select!"
اذهب إلى التنقل
اذهب إلى البحث
جميل-بيلوني (نقاش | مساهمات) ط (مراجعة وتدقيق.) |
|||
سطر 9: | سطر 9: | ||
إن لم تمرَّر أية كتلة إلى التابع <code>!select</code>، فسيعيد كائنًا من النوع <code>[[Ruby/Enumerator|Enumerator]]</code>. | إن لم تمرَّر أية كتلة إلى التابع <code>!select</code>، فسيعيد كائنًا من النوع <code>[[Ruby/Enumerator|Enumerator]]</code>. | ||
==البنية العامة== | ==البنية العامة== | ||
− | <syntaxhighlight lang="ruby"> select! {|item| block } → ary or nil | + | <syntaxhighlight lang="ruby">select! {|item| block } → ary or nil |
select! → Enumerator | select! → Enumerator | ||
</syntaxhighlight> | </syntaxhighlight> | ||
سطر 16: | سطر 16: | ||
==أمثلة== | ==أمثلة== | ||
أمثلة على استخدام التابع <code>select!</code>: | أمثلة على استخدام التابع <code>select!</code>: | ||
− | <syntaxhighlight lang="ruby"> a = %w{ a b c d e f } | + | <syntaxhighlight lang="ruby">a = %w{ a b c d e f } |
a.select! { |v| v =~ /[aeiou]/ } #=> ["a", "e"] | a.select! { |v| v =~ /[aeiou]/ } #=> ["a", "e"] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
− | * التابع [[Ruby/Array/select | <code>select</code>]]: يختار جميع عناصر المصفوفة المحققة لشرط معين ويضعها في مصفوفة جديدة. | + | * التابع<nowiki/>[[Ruby/Array/select | <code>select</code>]]: يختار جميع عناصر المصفوفة المحققة لشرط معين ويضعها في مصفوفة جديدة. |
− | * التابع [[Ruby/Array/reject! | <code>reject!</code>]]: يحذف جميع عناصر المصفوفة التي لم تحقق شرطًا محددًا. | + | * التابع<nowiki/>[[Ruby/Array/reject! | <code>reject!</code>]]: يحذف جميع عناصر المصفوفة التي لم تحقق شرطًا محددًا. |
− | * التابع [[Ruby/Array/keep_if | <code>keep_if</code>]]: يبقِي على جميع عناصر المصفوفة التي تحقق شرطًا معينًا ويحذف العناصر الأخرى المتبقية. | + | * التابع<nowiki/>[[Ruby/Array/keep_if | <code>keep_if</code>]]: يبقِي على جميع عناصر المصفوفة التي تحقق شرطًا معينًا ويحذف العناصر الأخرى المتبقية. |
− | * التابع [[Ruby/Array/delete_if | <code>delete_if</code>]]: يحذف جميع عناصر المصفوفة التي تعيد الكتلة البرمجية المعطاة القيمة <code>true</code> عند تطبيقها على كل عنصر منها. | + | * التابع<nowiki/>[[Ruby/Array/delete_if | <code>delete_if</code>]]: يحذف جميع عناصر المصفوفة التي تعيد الكتلة البرمجية المعطاة القيمة <code>true</code> عند تطبيقها على كل عنصر منها. |
==مصادر== | ==مصادر== | ||
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-select-21 قسم التابع select! في الصنف Array في توثيق روبي الرسمي.] | * [https://ruby-doc.org/core-2.5.1/Array.html#method-i-select-21 قسم التابع select! في الصنف Array في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 09:39، 3 أكتوبر 2018
يختار التابع !select
جميع عناصر المصفوفة المحققة لشرط معين ويحذف العناصر الأخرى المتبقية التي لم تحقق هذا الشرط.
قد لا تتغير المصفوفة مباشرةً في كل مرة تُستدعى فيها الكتلة البرمجية الممررة إلى هذا التابع، وستعاد القيمة nil
إن لم يجرى أي تعديل على المصفوفة.
إن لم تمرَّر أية كتلة إلى التابع !select
، فسيعيد كائنًا من النوع Enumerator
.
البنية العامة
select! {|item| block } → ary or nil
select! → Enumerator
القيم المعادة
تعاد المصفوفة نفسها المعطاة بعد الإبقاء على العناصر التي أعيدت معها القيمة true
وحذف العناصر التي أعيدت معها القيمة false
عند تطبيق الكتلة block
عليها، أو يعاد كائن من النوع Enumerator
إن لم تعطَ الكتلة block
.
أمثلة
أمثلة على استخدام التابع select!
:
a = %w{ a b c d e f }
a.select! { |v| v =~ /[aeiou]/ } #=> ["a", "e"]
انظر أيضًا
- التابع
select
: يختار جميع عناصر المصفوفة المحققة لشرط معين ويضعها في مصفوفة جديدة. - التابع
reject!
: يحذف جميع عناصر المصفوفة التي لم تحقق شرطًا محددًا. - التابع
keep_if
: يبقِي على جميع عناصر المصفوفة التي تحقق شرطًا معينًا ويحذف العناصر الأخرى المتبقية. - التابع
delete_if
: يحذف جميع عناصر المصفوفة التي تعيد الكتلة البرمجية المعطاة القيمةtrue
عند تطبيقها على كل عنصر منها.