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

من موسوعة حسوب
< Ruby‏ | Hash
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع delete_if في روبي}}</noinclude> حذف كل أزواج القيمة-المفتاح من <code>hsh</code> التي تُقي...'
 
ط تعديل التصنيفات
 
(3 مراجعات متوسطة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع delete_if في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE:التابع <code>Hash.delete_if</code> في روبي}}</noinclude>
حذف كل أزواج القيمة-المفتاح من <code>hsh</code> التي تُقيَّم لها <code>block</code> بالقيمة <code>true</code>.
يحذف التابع <code>delete_if</code> كل زوج قيمة-مفتاح يحقق شرطًا معيَّنًا من أزواج الكائن <code>[[Ruby/Hash|Hash]]</code> المعطى.


== البنية العامة ==
== البنية العامة ==
سطر 7: سطر 7:
delete_if → an_enumerator
delete_if → an_enumerator


</syntaxhighlight>المعاملات
</syntaxhighlight>
== القيم المعادة ==
يعاد الكائن <code>[[Ruby/Hash|Hash]]</code> المعطى بعد حذف الأزواج التي تُحقق الكتلة <code>block</code> بعد تمرير كل زوج من تلك الأزواج إليها (أي يعاد معها القيمة <code>true</code> عند تنفيذ الكتلة معها). إذا لم تُعطَ الكتلة <code>block</code>، فسيُعاد كائن من النوع <code>[[Ruby/Enumerator|enumerator]]</code> بدلًا من ذلك.


== القيم المعادة ==
== أمثلة ==
إذا لم تُعطَى <code>block</code>، يُعاد عدَّاد بدلًا من ذلك.<syntaxhighlight lang="ruby">
مثال على استعمال التابع <code>delete_if</code>:<syntaxhighlight lang="ruby">
h = { "a" => 100, "b" => 200, "c" => 300 }
h = { "a" => 100, "b" => 200, "c" => 300 }
h.delete_if {|key, value| key >= "b" }  #=> {"a"=>100}
h.delete_if {|key, value| key >= "b" }  #=> {"a"=>100}
سطر 16: سطر 18:
</syntaxhighlight>
</syntaxhighlight>


== أمثلة ==
== انظر أيضًا ==
<syntaxhighlight lang="ruby">
* التابع <code>[[Ruby/Hash/clear|clear]]</code>: يزيل جميع الأزواج قيمة-مفتاح من الكائن <code>[[Ruby/Hash|Hash]]</code> الذي استدعي معه.
 
              VALUE
* التابع <code>[[Ruby/Hash/delete|delete]]</code>: يحذف زوجًا ذا مفتاح محدَّد ويعيد قيمته من الكائن <code>[[Ruby/Hash|Hash]]</code> الذي استدعي معه.
rb_hash_delete_if(VALUE hash)
* التابع <code>[[Ruby/Hash/keep if|keep_if]]</code>: يبقي كل زوج قيمة-مفتاح يحقق شرطًا معيَّنًا من أزواج الكائن <code>[[Ruby/Hash|Hash]]</code> المعطى.
{
    RETURN_SIZED_ENUMERATOR(hash, 0, 0, hash_enum_size);
    rb_hash_modify_check(hash);
    if (RHASH(hash)->ntbl)
        rb_hash_foreach(hash, delete_if_i, hash);
    return hash;
}
         
</syntaxhighlight>


== مصادر ==
== مصادر ==
سطر 35: سطر 28:


[[تصنيف:Ruby]]
[[تصنيف:Ruby]]
[[تصنيف:Ruby Methods]]
[[تصنيف:Ruby Method]]
[[تصنيف:Ruby Hash]]

المراجعة الحالية بتاريخ 07:31، 13 يناير 2019

يحذف التابع delete_if كل زوج قيمة-مفتاح يحقق شرطًا معيَّنًا من أزواج الكائن Hash المعطى.

البنية العامة

delete_if {| key, value | block }  hsh
delete_if  an_enumerator

القيم المعادة

يعاد الكائن Hash المعطى بعد حذف الأزواج التي تُحقق الكتلة block بعد تمرير كل زوج من تلك الأزواج إليها (أي يعاد معها القيمة true عند تنفيذ الكتلة معها). إذا لم تُعطَ الكتلة block، فسيُعاد كائن من النوع enumerator بدلًا من ذلك.

أمثلة

مثال على استعمال التابع delete_if:

h = { "a" => 100, "b" => 200, "c" => 300 }
h.delete_if {|key, value| key >= "b" }   #=> {"a"=>100}

انظر أيضًا

  • التابع clear: يزيل جميع الأزواج قيمة-مفتاح من الكائن Hash الذي استدعي معه.
  • التابع delete: يحذف زوجًا ذا مفتاح محدَّد ويعيد قيمته من الكائن Hash الذي استدعي معه.
  • التابع keep_if: يبقي كل زوج قيمة-مفتاح يحقق شرطًا معيَّنًا من أزواج الكائن Hash المعطى.

مصادر