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

من موسوعة حسوب
< Ruby‏ | Marshal
مراجعة 11:43، 24 أكتوبر 2018 بواسطة محمد-بغات (نقاش | مساهمات) (أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>::dump‎</code> الخاص بالصنف <code>Marshal</code> في روبي}}</noinclude> تصنيف: Ruby تصن...')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يُسلسل (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).

مصادر