التابع eval
الخاص بالصنف Kernel
في روبي
يقيّم (Evaluates) التابع eval
تعبيرات روبي الموجودة في سلسلة نصية.
البنية العامة
eval(string [, binding [, filename [,lineno]]]) → obj
إذا أعطي المعامل binding
، فسيُجرَى التقييم في السياق الخاص به. في حال تمرير المعاملين الاختياريين filename
و lineno
، فسيُستخدمان عند الإبلاغ عن أخطاء الحاصلة في الصياغة.
المعاملات
string
سلسلة نصية تحتوي تعبيرات روبي.
binding
كائن من النوع 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
: يكافئ التعبير ($_.dup).chop!
، باستثناء أنّnil
لا تُعاد أبدًا. - التابع
exec
: يستبدل العملية الحالية عن طريق تشغيل الأمر الخارجي المعطى.