الفرق بين المراجعتين ل"Ruby/Kernel/callcc"
اذهب إلى التنقل
اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>callcc</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby تصني...') |
|||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Kernel]] | [[تصنيف: Ruby Kernel]] | ||
− | يولد التابع كائنًا من النوع <code>Continuation</code>، والذي يُمرّر إلى الكتلة البرمجية المعطاة. سيكون عليك أن تستورد <code> | + | يولد التابع <code>callcc</code> كائنًا من النوع <code>[[Ruby/Continuation|Continuation]]</code>، والذي يُمرّر إلى الكتلة البرمجية المعطاة. سيكون عليك أن تستورد <code>'continuation'</code> قبل استخدام هذا التابع. |
− | 'continuation'</code> قبل استخدام هذا التابع. يؤدي تنفيذ | + | |
+ | يؤدي تنفيذ <code>cont.call</code> إلى خروج التابع <code>callcc</code> (كما سيقع خلال نهاية الكتلة). القيمة التي يعيدها <code>callcc</code> هي قيمة الكتلة، أو القيمة المُمرّرة إلى <code>cont.call</code>. | ||
+ | |||
+ | انظر صفحة الصف <code>[[Ruby/Continuation|Continuation]]</code> لمزيد من التفاصيل. انظر أيضًا صفحة التابع <code>[[Ruby/Kernel/throw|throw]]</code> للتعرف على آلية بديلة لتخفيف مكدس الاستدعاءات (call stack). | ||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby">callcc {|cont| block }→ obj</syntaxhighlight> | <syntaxhighlight lang="ruby">callcc {|cont| block }→ obj</syntaxhighlight> | ||
==القيمة المُعادة== | ==القيمة المُعادة== | ||
+ | يعيد التابع <code>callcc</code> قيمة المعطاة، أو القيمة المُمرّرة إلى <code>cont.call</code>. | ||
==انظر أيضا== | ==انظر أيضا== | ||
− | * | + | * صفحة الصف <code>[[Ruby/Continuation|Continuation]]</code> |
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-callcc قسم التابع callcc في الصنف Kernel في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-callcc قسم التابع callcc في الصنف Kernel في توثيق روبي الرسمي.] |
مراجعة 11:14، 21 أكتوبر 2018
يولد التابع callcc
كائنًا من النوع Continuation
، والذي يُمرّر إلى الكتلة البرمجية المعطاة. سيكون عليك أن تستورد 'continuation'
قبل استخدام هذا التابع.
يؤدي تنفيذ cont.call
إلى خروج التابع callcc
(كما سيقع خلال نهاية الكتلة). القيمة التي يعيدها callcc
هي قيمة الكتلة، أو القيمة المُمرّرة إلى cont.call
.
انظر صفحة الصف Continuation
لمزيد من التفاصيل. انظر أيضًا صفحة التابع throw
للتعرف على آلية بديلة لتخفيف مكدس الاستدعاءات (call stack).
البنية العامة
callcc {|cont| block }→ obj
القيمة المُعادة
يعيد التابع callcc
قيمة المعطاة، أو القيمة المُمرّرة إلى cont.call
.
انظر أيضا
- صفحة الصف
Continuation