الفرق بين المراجعتين لصفحة: «Ruby/Array/delete if»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) طلا ملخص تعديل |
||
سطر 5: | سطر 5: | ||
يحذف التابع <code>delete_if</code> جميع عناصر المصفوفة التي تعيد الكتلة البرمجية المعطاة عند تطبيقها على كل عنصر منها القيمة <code>true</code>. | يحذف التابع <code>delete_if</code> جميع عناصر المصفوفة التي تعيد الكتلة البرمجية المعطاة عند تطبيقها على كل عنصر منها القيمة <code>true</code>. | ||
يُعدَّل على المصفوفة مباشرةً في كل مرَّة تستدعى فيها الكتلة، وليس بعد انتهاء التكرار ( | يُعدَّل على المصفوفة مباشرةً في كل مرَّة تستدعى فيها الكتلة، وليس بعد انتهاء التكرار (iteration). | ||
إن لم تمرَّر أي كتلة إلى هذا التابع، فسيعيد كائنًا من النوع <code>[[Ruby | إن لم تمرَّر أي كتلة إلى هذا التابع، فسيعيد كائنًا من النوع <code>[[Ruby/Enumerator|Enumerator]]</code>. | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby"> delete_if { |item| block } → ary | <syntaxhighlight lang="ruby"> delete_if { |item| block } → ary | ||
سطر 13: | سطر 13: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==القيم المعادة== | ==القيم المعادة== | ||
تعاد المصفوفة نفسها بعد حذف العناصر التي أعيدت معها القيمة <code>true</code> عند تطبيق الكتلة <code>block</code> على كلٍّ منها، أو يعاد كائنٌ من النوع <code>Enumerator</code> إن لم تعطَ الكتلة <code>block</code>. | تعاد المصفوفة نفسها بعد حذف العناصر التي أعيدت معها القيمة <code>true</code> عند تطبيق الكتلة <code>block</code> على كلٍّ منها، أو يعاد كائنٌ من النوع [[Ruby/Enumerator|<code>Enumerator</code>]] إن لم تعطَ الكتلة <code>block</code>. | ||
==أمثلة== | ==أمثلة== | ||
مثالٌ على استخدام التابع <code>delete_if</code> : | مثالٌ على استخدام التابع <code>delete_if</code> : | ||
سطر 20: | سطر 20: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
* التابع [[Ruby/Array/delete | <code>delete</code>]]: يحذف جميع عناصر المصفوفة المساوية لقيمة محددة ثم يعيد آخر عنصر حذفه، أو القيمة <code>nil</code> أو ناتج تطبيق كتلة برمجية محددة إن لم يعثر على أي عنصر لحذفه. | * التابع<nowiki/>[[Ruby/Array/delete | <code>delete</code>]]: يحذف جميع عناصر المصفوفة المساوية لقيمة محددة ثم يعيد آخر عنصر حذفه، أو القيمة <code>nil</code> أو ناتج تطبيق كتلة برمجية محددة إن لم يعثر على أي عنصر لحذفه. | ||
* التابع [[Ruby/Array/delete_at | <code>delete_at</code>]]: يحذف عنصرًا ذا فهرس محدَّد من مصفوفة. | * التابع<nowiki/>[[Ruby/Array/delete_at | <code>delete_at</code>]]: يحذف عنصرًا ذا فهرس محدَّد من مصفوفة. | ||
* التابع | * التابع<nowiki/>[[Ruby/Array/keep_if | <code>keep_if</code>]]: يبقي جميع عناصر المصفوفة التي تحقق شرطًا معينًا ويحذف العناصر الأخرى المتبقية. | ||
* التابع [[Ruby/Array/reject! | <code>reject!</code>]]: يحذف جميع عناصر المصفوفة التي لم تحقق شرطًا محددًا. | * التابع<nowiki/>[[Ruby/Array/reject! | <code>reject!</code>]]: يحذف جميع عناصر المصفوفة التي لم تحقق شرطًا محددًا. | ||
* التابع [[Ruby/Array/compact! | <code>compact!</code>]]: يحذف كل العناصر التي تساوي <code>nil</code> من المصفوفة التي استدعيت معه ثم يعيدها. | * التابع<nowiki/>[[Ruby/Array/compact! | <code>compact!</code>]]: يحذف كل العناصر التي تساوي <code>nil</code> من المصفوفة التي استدعيت معه ثم يعيدها. | ||
* التابع [[Ruby/Array/uniq! | <code>uniq!</code>]]: يحذف العناصر المتكررة من مصفوفة. | * التابع<nowiki/>[[Ruby/Array/uniq! | <code>uniq!</code>]]: يحذف العناصر المتكررة من مصفوفة. | ||
==مصادر== | ==مصادر== | ||
* [https://ruby-doc.org/core-2.5.1/Array.html#method-i-delete_if قسم التابع Array.delete_if في الصنف Array في توثيق روبي الرسمي.] | * [https://ruby-doc.org/core-2.5.1/Array.html#method-i-delete_if قسم التابع Array.delete_if في الصنف Array في توثيق روبي الرسمي.] |
المراجعة الحالية بتاريخ 07:06، 2 أكتوبر 2018
يحذف التابع delete_if
جميع عناصر المصفوفة التي تعيد الكتلة البرمجية المعطاة عند تطبيقها على كل عنصر منها القيمة true
.
يُعدَّل على المصفوفة مباشرةً في كل مرَّة تستدعى فيها الكتلة، وليس بعد انتهاء التكرار (iteration).
إن لم تمرَّر أي كتلة إلى هذا التابع، فسيعيد كائنًا من النوع Enumerator
.
البنية العامة
delete_if { |item| block } → ary
delete_if → Enumerator
القيم المعادة
تعاد المصفوفة نفسها بعد حذف العناصر التي أعيدت معها القيمة true
عند تطبيق الكتلة block
على كلٍّ منها، أو يعاد كائنٌ من النوع Enumerator
إن لم تعطَ الكتلة block
.
أمثلة
مثالٌ على استخدام التابع delete_if
:
scores = [ 97, 42, 75 ]
scores.delete_if {|score| score < 80 } #=> [97]
انظر أيضًا
- التابع
delete
: يحذف جميع عناصر المصفوفة المساوية لقيمة محددة ثم يعيد آخر عنصر حذفه، أو القيمةnil
أو ناتج تطبيق كتلة برمجية محددة إن لم يعثر على أي عنصر لحذفه. - التابع
delete_at
: يحذف عنصرًا ذا فهرس محدَّد من مصفوفة. - التابع
keep_if
: يبقي جميع عناصر المصفوفة التي تحقق شرطًا معينًا ويحذف العناصر الأخرى المتبقية. - التابع
reject!
: يحذف جميع عناصر المصفوفة التي لم تحقق شرطًا محددًا. - التابع
compact!
: يحذف كل العناصر التي تساويnil
من المصفوفة التي استدعيت معه ثم يعيدها. - التابع
uniq!
: يحذف العناصر المتكررة من مصفوفة.