الفرق بين المراجعتين ل"Ruby/Module/module exec"

من موسوعة حسوب
< Ruby‏ | Module
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>module_exec‎</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: التابع <code>Module.module_exec‎</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Module]]
+
[[تصنيف: Ruby Module Class]]
يقيّم التابع <code>module_exec</code> الكتلة الممررة في سياق الصنف/الوحدة. التابع المعرف في الكتلة سينتمي إلى المُُستقبِل (receiver). الوسائط المُمررة إلى التابع ستُمرّر كلها إلى الكتلة.  
+
يقيّم التابع <code>module_exec</code> الكتلة الممررة في سياق [[Ruby/modules and classes|الصنف/الوحدة]]. التابع المعرف في الكتلة سينتمي إلى المُُستقبِل (receiver). المعاملات المُمررة إلى التابع ستُمرّر كلها إلى الكتلة.  
  
 
يمكن استخدام هذا التابع إذا كانت الكتلة تحتاج إلى الوصول إلى متغيرات النسخة (instance variables).
 
يمكن استخدام هذا التابع إذا كانت الكتلة تحتاج إلى الوصول إلى متغيرات النسخة (instance variables).
 
==البنية العامة==
 
==البنية العامة==
 
<syntaxhighlight lang="ruby">module_exec(arg...) {|var...| block } → obj‎</syntaxhighlight>
 
<syntaxhighlight lang="ruby">module_exec(arg...) {|var...| block } → obj‎</syntaxhighlight>
==القيمة المُعادة==
+
==القيمة المعادة==
يعيد نتيجة تقييم الكتلة الممررة في سياق الصنف/الوحدة.
+
تعاد نتيجة تقييم الكتلة الممررة في سياق [[Ruby/modules and classes|الصنف/الوحدة]].
  
 
==أمثلة==
 
==أمثلة==
سطر 18: سطر 18:
 
   def hello() "Hello there!" end
 
   def hello() "Hello there!" end
 
}
 
}
puts Thing.new.hello()‎</syntaxhighlight>الناتج:<syntaxhighlight lang="ruby">Hello there!
+
puts Thing.new.hello()‎</syntaxhighlight>ناتج تنفيذ المثال هو:<syntaxhighlight lang="text">Hello there!
 
</syntaxhighlight>
 
</syntaxhighlight>
 
==انظر أيضا==
 
==انظر أيضا==
* التابع <code>[[Ruby/Module/module_eval|module_eval]]</code>: يُقيّم السلسلة النصية أو الكتلة المعطاة في سياق الوحدة،
+
* التابع <code>[[Ruby/Module/module_eval|module_eval]]</code>: يُقيّم السلسلة النصية أو الكتلة المعطاة في سياق الوحدة.
  
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Module.html#method-i-module_exec قسم التابع module_exec‎ في الصنف Module‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/Module.html#method-i-module_exec قسم التابع module_exec‎ في الصنف Module‎ في توثيق روبي الرسمي.]

المراجعة الحالية بتاريخ 15:25، 19 نوفمبر 2018

يقيّم التابع module_exec الكتلة الممررة في سياق الصنف/الوحدة. التابع المعرف في الكتلة سينتمي إلى المُُستقبِل (receiver). المعاملات المُمررة إلى التابع ستُمرّر كلها إلى الكتلة.

يمكن استخدام هذا التابع إذا كانت الكتلة تحتاج إلى الوصول إلى متغيرات النسخة (instance variables).

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

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

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

تعاد نتيجة تقييم الكتلة الممررة في سياق الصنف/الوحدة.

أمثلة

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

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

ناتج تنفيذ المثال هو:

Hello there!

انظر أيضا

  • التابع module_eval: يُقيّم السلسلة النصية أو الكتلة المعطاة في سياق الوحدة.

مصادر