التابع module_exec‎ الخاص بالصنف Module في روبي

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

يقيّم التابع module_exec الكتلة الممررة في سياق الصنف/الوحدة. التابع المعرف في الكتلة ستنتمي إلى المُُستقبِل (receiver). الوسائط المُمررة إلى التابع ستُمرّر كلها إلى الكتلة. يمكن استخدام هذا إذا كانت الكتلة تحتاج إلى الوصول إلى متغيرات النسخة (instance variables).

الناتج:

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

module_exec(arg...) {|var...| block }  obj

المعاملات

arg...‎

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

أمثلة

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

class Thing
end
Thing.class_exec{
  def hello() "Hello there!" end
}
puts Thing.new.hello()

انظر أيضا

  • التابع module_eval: يُقيّم السلسلة النصية أو الكتلة المعطاة في سياق الوحدة، إلا أنه عند إعطاء كتلة، لن يتأثر البحث عن الثوابت/ الأصناف. يمكن استخدام هذا لإضافة توابع لصنف ما. تعيد module_eval نتيجة تقييم وسائطها. يحدد الوسيطان الاختياريان filename و lineno نص رسائل الخطأ.
  • التابع module_function: ينشئ دوال وحدة (module functions) للتابع المعطى. يمكن استدعاء هذه الدوال مع الوحدة كمُستقبِلات، كما يمكن أن تصير متاحة كتوابع نسخة (instance methods) للأصناف التي تُمزج (mix) في الوحدة. دوال Module هي نسخ من الدالة الأصلية، وبالتالي يمكن تغييرها بشكل مستقل. توابع النسخة (instance-method) ستُجعل خاصة. إذا تم استدعاء دون وسائط، ستصبح التوابع المعرفة لاحقاً دوال وحدة. تُحوّل الوسائط النصية إلى رموز.

مصادر