الفرق بين المراجعتين لصفحة: «Ruby/Kernel/eval»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: التابع <code>eval</code> الخاص بالصنف <code>Kernel</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف...' |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق |
||
(5 مراجعات متوسطة بواسطة مستخدم واحد آخر غير معروضة) | |||
سطر 3: | سطر 3: | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby Kernel]] | [[تصنيف: Ruby Kernel]] | ||
يقيّم (Evaluates) التابع <code>eval</code> تعبيرات روبي الموجودة في سلسلة نصية. | |||
==البنية العامة== | |||
<syntaxhighlight lang="ruby">eval(string [, binding [, filename [,lineno]]]) → obj</syntaxhighlight> | == البنية العامة == | ||
<syntaxhighlight lang="ruby">eval(string [, binding [, filename [,lineno]]]) → obj</syntaxhighlight>إذا أعطي المعامل <code>[[Ruby/Binding|binding]]</code>، فسيُجرَى التقييم في السياق الخاص به. في حال تمرير المعاملين الاختياريين <code>filename</code> و <code>lineno</code>، فسيُستخدمان عند الإبلاغ عن أخطاء الحاصلة في الصياغة. | |||
==المعاملات== | ==المعاملات== | ||
===<code>string</code>=== | ===<code>string</code>=== | ||
سلسلة نصية تحتوي تعبيرات روبي. | |||
===<code>binding</code>=== | ===<code>binding</code>=== | ||
كائن من النوع <code>[[Ruby/Binding|Binding]]</code>. في حال تمريره، فسيُجرى التقييم في السياق الخاص به. | |||
===<code>filename</code>=== | ===<code>filename</code>=== | ||
يُستخدم عند الإبلاغ عن أخطاءٍ في الصياغة. | |||
===<code>lineno</code>=== | ===<code>lineno</code>=== | ||
يُستخدم عند الإبلاغ عن أخطاءٍ في الصياغة. | |||
==القيمة المعادة== | |||
==القيمة | تُعاد نتيجة تقييم التعبير المعطى. | ||
==أمثلة== | ==أمثلة== | ||
سطر 28: | سطر 34: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضا== | ==انظر أيضا== | ||
* التابع <code>[[Ruby/Kernel/chop|chop]]</code>: * التابع <code>[[Ruby/Kernel/exec|exec]]</code>: | * التابع <code>[[Ruby/Kernel/chop|chop]]</code>: يكافئ التعبير <code>($_.dup).chop!</code> ، باستثناء أنّ <code>nil</code> لا تُعاد أبدًا. | ||
* التابع <code>[[Ruby/Kernel/exec|exec]]</code>: يستبدل العملية الحالية عن طريق تشغيل الأمر الخارجي المعطى. | |||
==مصادر== | ==مصادر== | ||
*[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-eval قسم | *[http://ruby-doc.org/core-2.5.1/Kernel.html#method-i-eval قسم التابع eval في الصنف 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
: يستبدل العملية الحالية عن طريق تشغيل الأمر الخارجي المعطى.