الفرق بين المراجعتين لصفحة: «Ruby/Kernel/eval»
لا ملخص تعديل |
لا ملخص تعديل |
||
سطر 28: | سطر 28: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Kernel/chop|chop]]</code>: | * التابع <code>[[Ruby/Kernel/chop|chop]]</code>: | ||
* التابع <code>[[Ruby/Kernel/exec|exec]]</code>: | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-eval قسم التابع eval في الصنف Kernel في توثيق روبي الرسمي.] | *[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-eval قسم التابع eval في الصنف Kernel في توثيق روبي الرسمي.] |
مراجعة 17:45، 21 أكتوبر 2018
يقيم (Evaluates) التابع تعبيرات روبي الموجودة في سلاسل نصية. إذا أعطي الوسيط 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"