صفحة الصنف Marshal في روبي

من موسوعة حسوب
اذهب إلى التنقل اذهب إلى البحث

يُطلق الخطأ LocalJumpError عندما لا تتمكن روبي من الإعادة (yield) كما هو مطلوب.

يحدث هذا مثلا، عند محاولة الإعادة (yield) في غياب أي كتلة برمجية.

def call_block
  yield 42
end
call_block

تطلق الشيفرة أعلاه استثناء:

LocalJumpError: no block given (yield)

توابع الصنف العامة (Public Class Methods)

التابع ::dump

يُسلسل (Serializes) ظظظ الوسيط المعطى obj ططط وجميع الكائنات المنحدرة (descendant objects). في حال تمرير كائن IO، فستُكتب البيانات المُسَلسلة فيه، وإلا فستُعاد البيانات كسلسلة نصية (String). في حال تمرير limit، فسيقتصر عمل ظظظ على الكائنات الفرعية على العمق المحدد به. إذا كان limit سالباً، لن يتم إجراء أي تحقق للعمق.

التابع ::load

يعيد ظظظ نتيجة تحويل البيانات المُسلسلة (serialized) في المصدر إلى كائن في روبي (ربما مع كائنات ثانوية [subordinate objects] مرتبطة به). قد يكون المصدر إما نسخة من IO، أو كائنًا يستجيب إلى to_str. في حال تمرير الوسيط proc، فسيتم تمرير كل الكائنات إلى proc، أثناء فك تسلسلها (deserialisation).

التابع ::restore

يعيد ظظظ نتيجة تحويل البيانات المُسلسلة (serialized) في المصدر إلى كائن في روبي (ربما مع كائنات ثانوية [subordinate objects] مرتبطة به). قد يكون المصدر إما كائنًا من الصنف IO أو كائنًا يستجيب إلى to_str. في حال تمرير الوسيط proc ، فسيتم تمرير كل الكائنات إلى proc، أثناء فك تسلسلها (deserialisation).

مصادر