التابع instance_exec
في الصنف BasicObject
في روبي
< Ruby | BasicObject
ينفِّذ التابع instance_exec
الكتلة البرمجية المُمرَّرة ضمن سياق الكائن المستقبل (obj
). لتعيين السياق، يُضبَط المتغير self
إلى obj
أثناء تنفيذ الشيفرة، مما يعطي الشيفرة إمكانية الوصول لمتغيرات النسخة obj
.
البنية العامة
instance_exec(arg...) {|var...| block } → obj
المعاملات
arg
الوسائط المراد تمريرها كمعاملات إلى الكتلة block
.
القيم المعادة
يعاد كائن يحوي ناتج تنفيذ الكتلة البرمجية block
.
أمثلة
مثال على استخدام التابع instance_exec
:
class KlassWithSecret
def initialize
@secret = 99
end
end
k = KlassWithSecret.new
k.instance_exec(5) {|x| @secret+x } #=> 104
انظر أيضًا
- التابع
instance_eval
: يقدِّر ناتج تنفيذ شيفرة مصدرية للغة روبي معطاة كسلسلة نصية أو ناتج كتلة برمجية (bolck
) مُمرَّرة ضمن سياق كائن مُستقبِل (obj
). - التابع
__send__
: يستدعي تابعًا محددًا مع تمرير وسائط إليه.