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

من موسوعة حسوب
< Ruby‏ | Marshal
اذهب إلى التنقل اذهب إلى البحث
سطر 3: سطر 3:
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Marshal]]
 
[[تصنيف: Ruby Marshal]]
يعيد التابع <code>::load</code> نتيجة تحويل البيانات المُسلسلة (serialized) في المصدر إلى كائن في روبي (ربما مع كائنات ثانوية [subordinate objects] مرتبطة به). قد يكون المصدر إما نسخة من <code>IO</code>، أو كائنًا يستجيب إلى to_str. في حال تمرير الوسيط proc، فسيتم تمرير كل الكائنات إلى proc، أثناء فك تسلسلها (deserialisation).
+
يعيد التابع <code>load</code> نتيجة تحويل البيانات المُسلسلة (serialized) في المصدر إلى كائن روبي (ربما مع كائنات ثانوية [subordinate objects] مرتبطة به). قد يكون المصدر إما كائنا من الصنف <code>IO</code>، أو كائنًا يستجيب إلى التابع <code>to_str</code>. في حال تمرير الوسيط <code>proc</code>، فسيتم تمرير كل الكائنات إلى <code>proc</code> أثناء فك تسلسلها (deserialisation).
لا تمرّر أبدًا التابع <code>::load</code> بيانات غير موثوقة (بما في ذلك المدخلات التي يوفرها المستخدم).
+
 
 +
'''تنبيه''': لا تمرّر أبدًا إلى التابع <code>load</code> بيانات غير موثوقة (بما في ذلك المدخلات التي يرسلها المستخدم).
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">load( source [, proc] ) → obj‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">load( source [, proc] ) → obj‎</syntaxhighlight>
 
==المعاملات==
 
==المعاملات==
 
===<code>source‎</code>===
 
===<code>source‎</code>===
 +
يمثل المصدر'''.'''
  
 
===<code>proc‎</code>===
 
===<code>proc‎</code>===
  
 
+
في حال تمرير الوسيط <code>proc</code>، فسيتم تمرير كل الكائنات إليه أثناء فك تسلسله.
 
==القيمة المُعادة==
 
==القيمة المُعادة==
 +
يعيد التابع <code>load</code> نتيجة تحويل البيانات المُسلسلة (serialized) في المصدر إلى كائن روبي
  
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/Marshal/dump|::dump]]</code>: يُسلسل (Serializes) ظظظ الوسيط المعطى obj ططط وجميع الكائنات المنحدرة (descendant objects). في حال تمرير كائن IO، فستُكتب البيانات المُسَلسلة فيه، وإلا فستُعاد البيانات كسلسلة نصية (<code>String</code>). في حال تمرير limit، فسيقتصر عمل ظظظ على الكائنات الفرعية على العمق المحدد به. إذا كان limit سالباً، لن يتم إجراء أي تحقق للعمق.
+
* التابع <code>[[Ruby/Marshal/dump|dump]]</code>: يُسلسل (Serializes) الوسيط المعطى وجميع الكائنات المنحدرة منه (descendant objects).  
* التابع <code>[[Ruby/Marshal/restore|::restore]]</code>: يعيد ظظظ نتيجة تحويل البيانات المُسلسلة (serialized) في المصدر إلى كائن في روبي (ربما مع كائنات ثانوية [subordinate objects] مرتبطة به). قد يكون المصدر إما كائنًا من الصنف <code>IO</code> أو كائنًا يستجيب إلى to_str. في حال تمرير الوسيط proc ، فسيتم تمرير كل الكائنات إلى proc، أثناء فك تسلسلها (deserialisation).
+
* التابع <code>[[Ruby/Marshal/restore|restore]]</code>: يعيد نتيجة تحويل البيانات المُسلسلة (serialized) في المصدر إلى كائن في روبي.
  
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Marshal.html#method-c-load قسم  التابع ::load‎ في الصنف Marshal‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/Marshal.html#method-c-load قسم  التابع load‎ في الصنف Marshal‎ في توثيق روبي الرسمي.]

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

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

تنبيه: لا تمرّر أبدًا إلى التابع load بيانات غير موثوقة (بما في ذلك المدخلات التي يرسلها المستخدم).

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

load( source [, proc] )  obj

المعاملات

source‎

يمثل المصدر.

proc‎

في حال تمرير الوسيط proc، فسيتم تمرير كل الكائنات إليه أثناء فك تسلسله.

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

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

انظر أيضا

  • التابع dump: يُسلسل (Serializes) الوسيط المعطى وجميع الكائنات المنحدرة منه (descendant objects).
  • التابع restore: يعيد نتيجة تحويل البيانات المُسلسلة (serialized) في المصدر إلى كائن في روبي.

مصادر