التابع callcc‎ الخاص بالصنف Kernel في روبي

من موسوعة حسوب
< Ruby‏ | Kernel
مراجعة 11:16، 15 نوفمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يولد التابع callcc كائنًا من النوع Continuation، والذي يُمرّر إلى الكتلة البرمجية المعطاة. تحتاج إلى أن تستورد 'continuation' عبر require قبل استخدام هذا التابع.

يؤدي تنفيذ cont.call إلى خروج التابع callcc (كما سيقع خلال نهاية الكتلة). القيمة التي يعيدها callcc هي قيمة الكتلة، أو القيمة المُمرّرة إلى cont.call.

انظر صفحة الصف Continuation لمزيد من التفاصيل. انظر أيضًا صفحة التابع throw للتعرف على آلية بديلة لتخفيف مكدس الاستدعاءات (call stack).

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

callcc {|cont| block }   obj

القيمة المعادة

تعاد قيمة المعطاة، أو القيمة المُمرّرة إلى cont.call.

انظر أيضا

  • التابع caller: يعيد مكدس التنفيذ الحالي (execution stack).

مصادر