الفرق بين المراجعتين ل"Ruby/Marshal/dump"

من موسوعة حسوب
< Ruby‏ | Marshal
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>::dump‎</code> الخاص بالصنف <code>Marshal</code> في روبي}}</noinclude> تصنيف: Ruby تصن...')
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>::dump‎</code> الخاص بالصنف <code>Marshal</code> في روبي}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: التابع <code>dump‎</code> الخاص بالصنف <code>Marshal</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]

مراجعة 11:43، 24 أكتوبر 2018

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

مصادر