الفرق بين المراجعتين لصفحة: «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) في المصدر إلى كائن في روبي.

مصادر