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

من موسوعة حسوب
< Ruby‏ | Hash
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع delete_if في روبي}}</noinclude> حذف كل أزواج القيمة-المفتاح من <code>hsh</code> التي تُقي...'
 
إضافة محتويات الصفحة.
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع delete_if في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE: التابع delete_if في روبي}}</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)
{
    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>


== مصادر ==
== مصادر ==

مراجعة 13:29، 26 نوفمبر 2018

يحذف التابع 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 الذي استدعي معه.

مصادر