التابع eval‎ الخاص بالصنف Kernel في روبي

من موسوعة حسوب
< Ruby‏ | Kernel
مراجعة 11:43، 15 نوفمبر 2018 بواسطة جميل-بيلوني (نقاش | مساهمات) (مراجعة وتدقيق)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

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

مصادر