التابع dump‎ الخاص بالصنف Marshal في روبي

من موسوعة حسوب

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

في حال تمرير الوسيط limit، فسيقتصر التابع dump على سَلسَلة الكائنات الفرعية حتى العمق المحدد. إذا كان limit سالباً، لن يكون هناك أي تحقق من للعمق.

لا يمكن للتابع Marshal تفريغ (dump) الكائنات التالية:

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

dump( obj [, anIO] , limit=-1 )  anIO

المعاملات

obj‎

الكائن المراد سَلسَلته.

anIO‎

ي حال تمريره، فستُكتب البيانات المُسَلسلة فيه

limit‎

يحدد الحد الأقصى لللعمق.

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

يعيد التابع dump البيانات المُسَلسلة.

أمثلة

مثال على استخدام التابع dump‎:

class Klass
  def initialize(str)
    @str = str
  end
  def say_hello
    @str
  end
end

لن تكون هناك أي مخرجات.

o = Klass.new("hello\n")
data = Marshal.dump(o)
obj = Marshal.load(data)
obj.say_hello  #=> "hello\n"

انظر أيضا

  • التابع load: يعيد نتيجة تحويل البيانات المُسلسلة (serialized) في المصدر إلى كائن في روبي.

مصادر