التابع ::dump
الخاص بالصنف Marshal
في روبي
يُسلسل (Serializes) التابع ::dump
الوسيط المعطى obj (انظر فقرة البنية العام) وجميع الكائنات المنحدرة (descendant objects). في حال تمرير كائن IO، فستُكتب البيانات المُسَلسلة فيه، وإلا فستُعاد البيانات كسلسلة نصية (String
). في حال تمرير limit، فسيقتصر عمل التابع ::dump
على الكائنات الفرعية على العمق المحدد به. إذا كان limit سالباً، لن يتم إجراء أي تحقق للعمق.
(لا تنتج أي مخرجات)
لا يمكن للتابع Marshal
تفريغ الكائنات التالية:
الوحدات أو الأصناف المجهولة (anonymous Class/Module). الكائنات المرتبطة بالنظام (مثل: Dir
، File::Stat
، IO
، File
، Socket وهكذا). كائنات الأصناف MatchData
و Data
و Method
و UnboundMethod
و Proc
و Thread
و ThreadGroup
و Continuation
الكائنات التي تعرف توابع مفردة (singleton methods).
البنية العامة
dump( obj [, anIO] , limit=-1 ) → anIO
المعاملات
obj
anIO
limit
القيمة المُعادة
أمثلة
مثال على استخدام التابع ::dump
:
class Klass
def initialize(str)
@str = str
end
def say_hello
@str
end
end
انظر أيضا
- التابع
::load
: يعيد ظظظ نتيجة تحويل البيانات المُسلسلة (serialized) في المصدر إلى كائن في روبي (ربما مع كائنات ثانوية [subordinate objects] مرتبطة به). قد يكون المصدر إما نسخة منIO
، أو كائنًا يستجيب إلى to_str. في حال تمرير الوسيط proc، فسيتم تمرير كل الكائنات إلى proc، أثناء فك تسلسلها (deserialisation).