الفرق بين المراجعتين لصفحة: «Ruby/Module/class exec»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: التابع <code>class_exec | <noinclude>{{DISPLAYTITLE: التابع <code>Module.class_exec</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Module]] | [[تصنيف: Ruby Module Class]] | ||
يقيِّم التابع <code>class_exec</code> الكتلة المعطاة في سياق [[Ruby/modules and classes|الصنف/الوحدة]] التي استُدعي معها. التابع المعرف في الكتلة سينتمي إلى المستقبِل (receiver). وستُمرر كل الوسائط المعطاة للتابع إلى الكتلة. | |||
يمكن استخدام هذا التابع إذا كانت الكتلة تحتاج إلى الوصول إلى متغيرات النسخ (instance variables). | يمكن استخدام هذا التابع إذا كانت الكتلة تحتاج إلى الوصول إلى متغيرات النسخ (instance variables). | ||
سطر 11: | سطر 11: | ||
===<code>arg...</code>=== | ===<code>arg...</code>=== | ||
الوسائط | الوسائط المراد تمريرها إلى الكتلة. | ||
==القيمة | ==القيمة المعادة== | ||
يعاد ناتج تقييم الكتلة المعطاة في سياق [[Ruby/modules and classes|الصنف/الوحدة]] المعطاة. | |||
==أمثلة== | ==أمثلة== | ||
سطر 22: | سطر 22: | ||
def hello() "Hello there!" end | def hello() "Hello there!" end | ||
} | } | ||
puts Thing.new.hello()</syntaxhighlight> | 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 قسم | *[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
: يُقيِّم السلسلة النصية أو الكتلة المعطاة في سياق الوحدة.