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

من موسوعة حسوب
لا ملخص تعديل
ط مراجعة وتدقيق.
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>pop‎</code> الخاص بالصنف <code>SizedQueue</code> في روبي}}</noinclude>
<noinclude>{{DISPLAYTITLE: التابع <code>SizedQueue.pop‎</code> في روبي}}</noinclude>
[[تصنيف: Ruby]]
[[تصنيف: Ruby]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby SizedQueue]]
[[تصنيف: Ruby SizedQueue]]
يسترد التابع <code>pop</code> البيانات من ال[[Ruby/SizedQueue|طابور]].
يجلب التابع <code>pop</code> بيانات من ال[[Ruby/SizedQueue|طابور]].


إن كان ال[[Ruby/SizedQueue|طابور]] فارغًا، يتم تعليق ال[[Ruby/Thread|مهمة فرعية]] المُستدعية (calling thread) حتى يتم دفع البيانات إلى ال[[Ruby/SizedQueue|طابور]]. إن كانت قيمة <code>non_block</code> (انظر فقرة البنية العامة) تساوي <code>true</code>، فلن يتم تعليق ال[[Ruby/Thread|مهمة فرعية]]، وسيُطلق الاستثناء <code>ThreadError</code>.
إن كان ال[[Ruby/SizedQueue|طابور]] فارغًا، يتم تعليق ال[[Ruby/Thread|مهمة فرعية]] المُستدعية (calling thread) حتى يتم إضافة بيانات إلى ال[[Ruby/SizedQueue|طابور]]. إن مُرِّرت القيمة <code>true</code> إلى التابع، فلن يتم تعليق ال[[Ruby/Thread|مهمة فرعية]]، وسيُطلق الاستثناء <code>[[Ruby/ThreadError|ThreadError]]</code>.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">pop(non_block=false)
<syntaxhighlight lang="ruby">pop(non_block=false)
سطر 12: سطر 12:
==المعاملات==
==المعاملات==
===<code>non_block‎</code>===
===<code>non_block‎</code>===
إن كانت قيمة <code>non_block</code> تساوي <code>true</code>، فلن يتم تعليق ال[[Ruby/Thread|مهمة فرعية]]، وسيُطلق الاستثناء <code>ThreadError</code>.
قيمة منطقية تحدد وضع عدم الحجز. إن كانت قيمة هذا المعامل تساوي <code>true</code>، فلن يتم تعليق ال[[Ruby/Thread|مهمة فرعية]]، وسيُطلق الاستثناء <code>[[Ruby/ThreadError|ThreadError]]</code>. القيمة الافتراضية هي: <code>false</code>.


==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/SizedQueue/num_waiting|num_waiting]]</code>: يعيد عدد ال[[Ruby/Thread|مهام الفرعية]] التي تنتظر في ال[[Ruby/SizedQueue|طابور]].
* التابع <code>[[Ruby/SizedQueue/num_waiting|num_waiting]]</code>: يعيد عدد ال[[Ruby/Thread|مهام الفرعية]] التي تنتظر في ال[[Ruby/SizedQueue|طابور]].
* التابع <code>[[Ruby/SizedQueue/push|push]]</code>: يدفع (Pushes)  كائنا  إلى ال[[Ruby/SizedQueue|طابور]].
* التابع <code>[[Ruby/SizedQueue/push|push]]</code>: يضيف كائنًا إلى ال[[Ruby/SizedQueue|طابور]].


==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/SizedQueue.html#method-i-pop قسم التابع pop‎ في الصنف SizedQueue‎ في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/SizedQueue.html#method-i-pop قسم التابع pop‎ في الصنف SizedQueue‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 09:51، 4 ديسمبر 2018

يجلب التابع pop بيانات من الطابور.

إن كان الطابور فارغًا، يتم تعليق المهمة فرعية المُستدعية (calling thread) حتى يتم إضافة بيانات إلى الطابور. إن مُرِّرت القيمة true إلى التابع، فلن يتم تعليق المهمة فرعية، وسيُطلق الاستثناء ThreadError.

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

pop(non_block=false)
deq(non_block=false)
shift(non_block=false)

المعاملات

non_block‎

قيمة منطقية تحدد وضع عدم الحجز. إن كانت قيمة هذا المعامل تساوي true، فلن يتم تعليق المهمة فرعية، وسيُطلق الاستثناء ThreadError. القيمة الافتراضية هي: false.

انظر أيضا

مصادر