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

من موسوعة حسوب
< Ruby‏ | Kernel
لا ملخص تعديل
تدقيق
 
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Kernel]]
[[تصنيف: Ruby Kernel]]
ينقل التابع <code>throw</code> الضبط (control) إلى نهاية كتلة <code>catch</code> المُترقبة للوسم المعطى (<code>tag</code>). إذا لم يكن هناك كتلة <code>catch</code> لذلك الوسم، فسيطلق خطأ<code>UncaughtThrowError</code>. يوفر الوسيط الاختياري الثاني <code>obj</code> في حال تمريره قيمة لتُعيدها الكتلة <code>catch</code>، وإلا فستعيد<code>nil</code>. للحصول على بعض الأمثلة، انظر صفحة  التابع <code>[[Ruby/Kernel/catch|catch]]</code>.
ينقل التابع <code>throw</code> الضبط (control) إلى نهاية الكتلة [[Ruby/Kernel/catch|<code>catch</code>]] المُترقبة للوسم المعطى (<code>tag</code>). إذا لم يكن هناك كتلة [[Ruby/Kernel/catch|<code>catch</code>]] لذلك الوسم، فسيطلق الخطأ <code>[[Ruby/UncaughtThrowError|UncaughtThrowError]]</code>. يوفر الوسيط الاختياري الثاني في حال تمريره قيمة لتُعيدها الكتلة [[Ruby/Kernel/catch|<code>catch</code>]]، وإلا فستعيد <code>nil</code>. للحصول على بعض الأمثلة، انظر صفحة  التابع <code>[[Ruby/Kernel/catch|catch]]</code>.
==البنية العامة==
==البنية العامة==
<syntaxhighlight lang="ruby">throw(tag [, obj])‎</syntaxhighlight>
<syntaxhighlight lang="ruby">throw(tag [, obj])‎</syntaxhighlight>
==المعاملات==
==المعاملات==
===<code>tag‎</code>===
===<code>tag‎</code>===
الوسم الذي تترقبه <code>catch.</code>
الوسم الذي تترقبه الكتلة [[Ruby/Kernel/catch|<code>catch</code>]].


===<code>obj‎</code>===
===<code>obj‎</code>===


وسيط اختياري يوفر في حال تمريره قيمة لتُعيدها الكتلة <code>catch.</code>
وسيط اختياري يوفر -في حال تمريره- قيمة لتُعيدها الكتلة [[Ruby/Kernel/catch|<code>catch</code>]].
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/Kernel/catch|catch]]</code>: ينفذ التابع <code>catch</code> كتلته البرمجية. في حال عدم استدعاء <code>throw</code>، فستنفّذ الكتلة بشكل طبيعي، وسيعيد <code>catch</code> قيمة آخر تعبير تم تقييمه.  
* التابع <code>[[Ruby/Kernel/catch|catch]]</code>: ينفذ كتلته البرمجية. في حال عدم استدعاء <code>throw</code>، فستنفّذ الكتلة بشكل طبيعي، وسيعيد التابع <code>catch</code> قيمة آخر تعبير تم تقييمه.  
==مصادر==
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-throw قسم التابع throw‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-throw قسم التابع throw‎ في الصنف Kernel‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 06:16، 17 نوفمبر 2018

ينقل التابع throw الضبط (control) إلى نهاية الكتلة catch المُترقبة للوسم المعطى (tag). إذا لم يكن هناك كتلة catch لذلك الوسم، فسيطلق الخطأ UncaughtThrowError. يوفر الوسيط الاختياري الثاني في حال تمريره قيمة لتُعيدها الكتلة catch، وإلا فستعيد nil. للحصول على بعض الأمثلة، انظر صفحة التابع catch.

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

throw(tag [, obj])

المعاملات

tag‎

الوسم الذي تترقبه الكتلة catch.

obj‎

وسيط اختياري يوفر -في حال تمريره- قيمة لتُعيدها الكتلة catch.

انظر أيضا

  • التابع catch: ينفذ كتلته البرمجية. في حال عدم استدعاء throw، فستنفّذ الكتلة بشكل طبيعي، وسيعيد التابع catch قيمة آخر تعبير تم تقييمه.

مصادر