التابع eval
الخاص بالصنف Kernel
في روبي
يقيّم (Evaluates) التابع eval
تعبيرات روبي الموجودة في سلسلة نصية. إذا أعطي الوسيط binding
، والذي يجب أن يكون من النوع Binding
، فسيُجرى التقييم في السياق الخاص بها. في حال تمرير الوسيطين الاختياريين filename
و lineno
، فسيُستخدمان عند الإبلاغ عن أخطاء في الصياغة.
البنية العامة
eval(string [, binding [, filename [,lineno]]]) → obj
المعاملات
string
سلسلة نصية تحتوي تعبيرات روبي.
binding
في حال تمريره فسيُجرى التقييم في السياق الخاص به.
filename
يُستخدم عند الإبلاغ عن أخطاء في الصياغة.
lineno
يُستخدم عند الإبلاغ عن أخطاء في الصياغة.
القيمة المُعادة
تُعاد نتيجة تقييم التعبير المعطى.
أمثلة
مثال على استخدام التابع eval
:
def get_binding(str)
return binding
end
str = "hello"
eval "str + ' Fred'" #=> "hello Fred"
eval "str + ' Fred'", get_binding("bye") #=> "bye Fred"
انظر أيضا
- التابع
chop
: يكافئ التابعchop
التعبير ($_.dup).chop!
، باستثناء أنّnil
لا تُعاد أبدًا. انظر صفحة!String#chop
. - التابع
exec
: يستبدل العملية الحالية عن طريق تشغيل الأمر الخارجي المعطى.