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

من موسوعة حسوب
< Ruby‏ | Kernel
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>throw‎</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby تصني...'
 
تدقيق
 
(مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة)
سطر 3: سطر 3:
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Kernel]]
[[تصنيف: Ruby Kernel]]
ينقل التابع throw الضبط (control) إلى نهاية كتلة <code>catch</code> النشطة في انتظار الوسم (tag). ويطلق <code>UncaughtThrowError</code> إذا لم يكن هناك كتلة <code>catch</code> لذلك الوسم. يوفر الوسيط الاختياري الثاني قيمة لتُعيدها الكتلة <code>catch</code>، في حال عدم تمريره ستكون قيمتها الافتراضية هي <code>nil</code>. للحصول على بعض الأمثلة، انظر <code>Kernel::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>===
الوسم الذي تترقبه الكتلة [[Ruby/Kernel/catch|<code>catch</code>]].


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


 
وسيط اختياري يوفر -في حال تمريره- قيمة لتُعيدها الكتلة [[Ruby/Kernel/catch|<code>catch</code>]].
==القيمة المُعادة==
 
==انظر أيضا==
==انظر أيضا==
* التابع <code>[[Ruby/Kernel/X_name_X|X_name_X]]</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 قيمة آخر تعبير تم تقييمه.

مصادر