الفرق بين المراجعتين لصفحة: «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"