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

من موسوعة حسوب
< Ruby‏ | Module
اذهب إلى التنقل اذهب إلى البحث
ط (مراجعة وتدقيق.)
 
سطر 1: سطر 1:
<noinclude>{{DISPLAYTITLE: التابع <code>class_exec‎</code> الخاص بالصنف <code>Module</code> في روبي}}</noinclude>
+
<noinclude>{{DISPLAYTITLE: التابع <code>Module.class_exec‎</code> في روبي}}</noinclude>
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby]]
 
[[تصنيف: Ruby Method]]
 
[[تصنيف: Ruby Method]]
[[تصنيف: Ruby Module]]
+
[[تصنيف: Ruby Module Class]]
يقيم التابع <code>class_exec</code> الكتلة المعطاة في سياق الصنف/الوحدة التي استُدعي معها. التابع المعرف في الكتلة سينتمي إلى المستقبِل (receiver). وستُمرر كل الوسائط المعطاة  للتابع إلى الكتلة.  
+
يقيِّم التابع <code>class_exec</code> الكتلة المعطاة في سياق [[Ruby/modules and classes|الصنف/الوحدة]] التي استُدعي معها. التابع المعرف في الكتلة سينتمي إلى المستقبِل (receiver). وستُمرر كل الوسائط المعطاة  للتابع إلى الكتلة.  
  
 
يمكن استخدام هذا التابع إذا كانت الكتلة تحتاج إلى الوصول إلى متغيرات النسخ (instance variables).
 
يمكن استخدام هذا التابع إذا كانت الكتلة تحتاج إلى الوصول إلى متغيرات النسخ (instance variables).
سطر 11: سطر 11:
 
===<code>arg...‎</code>===
 
===<code>arg...‎</code>===
  
الوسائط الممررة إلى الكتلة
+
الوسائط المراد تمريرها إلى الكتلة.
==القيمة المُعادة==
+
==القيمة المعادة==
يعيد التابع <code>class_exec</code> ناتج تقييم الكتلة المعطاة في سياق الصنف/الوحدة التي استُدعي معها.
+
يعاد ناتج تقييم الكتلة المعطاة في سياق [[Ruby/modules and classes|الصنف/الوحدة]] المعطاة.
  
 
==أمثلة==
 
==أمثلة==
سطر 22: سطر 22:
 
   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/class_eval|class_eval]]</code>: يُقبّم  السلسلة النصية أو الكتلة المعطاة في سياق الوحدة ،
+
* التابع <code>[[Ruby/Module/class_eval|class_eval]]</code>: يُقيِّم السلسلة النصية أو الكتلة المعطاة في سياق الوحدة.
  
 
==مصادر==
 
==مصادر==
*[http://ruby-doc.org/core-2.5.1/Module.html#method-i-class_exec قسم التابع class_exec‎ في الصنف Module‎ في توثيق روبي الرسمي.]
+
*[http://ruby-doc.org/core-2.5.1/Module.html#method-i-class_exec قسم التابع class_exec‎ في الصنف Module‎ في توثيق روبي الرسمي.]

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

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

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

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

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

المعاملات

arg...‎

الوسائط المراد تمريرها إلى الكتلة.

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

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

أمثلة

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

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

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

Hello there!

انظر أيضا

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

مصادر