التابع 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: يستبدل العملية الحالية عن طريق تشغيل الأمر الخارجي المعطى.

مصادر