الفرق بين المراجعتين لصفحة: «Ruby/Binding/local variable set»
لا ملخص تعديل |
جميل-بيلوني (نقاش | مساهمات) ط مراجعة وتدقيق. |
||
| (مراجعة متوسطة واحدة بواسطة مستخدم واحد آخر غير معروضة) | |||
| سطر 1: | سطر 1: | ||
<noinclude>{{DISPLAYTITLE: <code> | <noinclude>{{DISPLAYTITLE: التابع <code>Binding.local_variable_set</code> في روبي}}</noinclude> | ||
[[تصنيف: Ruby]] | [[تصنيف: Ruby]] | ||
[[تصنيف: Ruby Method]] | [[تصنيف: Ruby Method]] | ||
[[تصنيف: Ruby | [[تصنيف: Ruby Binding]] | ||
يضبط التابع <code>local_variable_set</code> قيمة المتغير المحلي الممرر إليه إلى قيمة معينة. | يضبط التابع <code>local_variable_set</code> قيمة المتغير المحلي الممرر إليه إلى قيمة معينة. | ||
سلوك هذا التابع مشابه للشيفرة التالية في حال كان بالإمكان إهمال الكائن <code>obj</code> من شيفرة روبي:<syntaxhighlight lang="ruby"> | سلوك هذا التابع مشابه للشيفرة التالية في حال كان بالإمكان إهمال الكائن <code>obj</code> من شيفرة روبي:<syntaxhighlight lang="ruby">binding. eval("#{symbol} = #{obj}") | ||
binding. eval("#{symbol} = #{obj}") | |||
</syntaxhighlight> | </syntaxhighlight> | ||
| سطر 14: | سطر 13: | ||
=== <code>symbol</code> === | === <code>symbol</code> === | ||
المتغير المحلي المراد ضبط قيمته إلى قيمة المعامل <code>obj</code>. إن كان المتغير المحلي المعطى موجودًا، فستُستبدَل قيمته. أما إن لم يكن موجودًا، فسينشأ وتضبط قيمته أيضًا إلى قيمة المعامل <code>obj</code> | المتغير المحلي المراد ضبط قيمته إلى قيمة المعامل <code>obj</code>. إن كان المتغير المحلي المعطى موجودًا، فستُستبدَل قيمته. أما إن لم يكن موجودًا، فسينشأ وتضبط قيمته أيضًا إلى قيمة المعامل <code>obj</code>. | ||
=== <code>obj</code> === | === <code>obj</code> === | ||
| سطر 22: | سطر 21: | ||
==أمثلة== | ==أمثلة== | ||
مثال لاستخدام التابع <code>local_variable_set</code> : | مثال لاستخدام التابع <code>local_variable_set</code> : | ||
<syntaxhighlight lang="ruby"> def foo | <syntaxhighlight lang="ruby">def foo | ||
a = 1 | a = 1 | ||
bind = binding | bind = binding | ||
| سطر 36: | سطر 35: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
* التابع [[Ruby/Binding/eval | <code>eval</code>]]: يقدر تعابير لغة روبي الممررة إليه في السياق <code> | * التابع<nowiki/>[[Ruby/Binding/eval | <code>eval</code>]]: يقدر تعابير لغة روبي الممررة إليه في السياق [[Ruby/Binding|<code>Binding</code>]]. | ||
* التابع [[Ruby/Binding/local_variables | <code>local_variables</code>]]: يعيد أسماء المتغيرات المحلية المعرفة في <code>Binding</code> على شكل رموز (symbols). | * التابع<nowiki/>[[Ruby/Binding/local_variables | <code>local_variables</code>]]: يعيد أسماء المتغيرات المحلية المعرفة في <code>[[Ruby/Binding|Binding]]</code> على شكل رموز (symbols). | ||
* التابع | * التابع [[Ruby/Binding/local_variable_get |<code>local_variable_get</code>]] : يعيد قيمة المتغير المحلي الممرَّر إليه. | ||
* التابع | * التابع<nowiki/>[[Ruby/Binding/local_variable_defined-3F |<code>local_variable_defined?</code>]] : يتحقق إن كان المتغير <code>symbol</code> المحلي موجودًا أم لا. | ||
==مصادر== | ==مصادر== | ||
* [http://ruby-doc.org/core-2.5.1/Binding.html#method-i-local_variable_set قسم التابع local_variable_set في الصنف Binding في توثيق روبي الرسمي.] | * [http://ruby-doc.org/core-2.5.1/Binding.html#method-i-local_variable_set قسم التابع local_variable_set في الصنف Binding في توثيق روبي الرسمي.] | ||
المراجعة الحالية بتاريخ 08:29، 4 أكتوبر 2018
يضبط التابع local_variable_set قيمة المتغير المحلي الممرر إليه إلى قيمة معينة.
سلوك هذا التابع مشابه للشيفرة التالية في حال كان بالإمكان إهمال الكائن obj من شيفرة روبي:
binding. eval("#{symbol} = #{obj}")
البنية العامة
local_variable_set(symbol, obj) → obj
المعاملات
symbol
المتغير المحلي المراد ضبط قيمته إلى قيمة المعامل obj. إن كان المتغير المحلي المعطى موجودًا، فستُستبدَل قيمته. أما إن لم يكن موجودًا، فسينشأ وتضبط قيمته أيضًا إلى قيمة المعامل obj.
obj
الكائن الذي ستسند قيمته إلى قيمة المتغير المحلي المحدد في المعامل symbol.
القيم المعادة
يعاد الكائن obj.
أمثلة
مثال لاستخدام التابع local_variable_set :
def foo
a = 1
bind = binding
bind.local_variable_set(:a, 2) # المحلي الموجود مسبقًا `a' ضبط قيمة المتغير
bind.local_variable_set(:b, 3) # المحلي الجديد `b' إنشاء المتغير
# فقط Binding في الصنف `b' يوجد المتغير
p bind.local_variable_get(:a) #=> 2
p bind.local_variable_get(:b) #=> 3
p a #=> 2
p b #=> NameError
end
انظر أيضًا
- التابع
eval: يقدر تعابير لغة روبي الممررة إليه في السياقBinding. - التابع
local_variables: يعيد أسماء المتغيرات المحلية المعرفة فيBindingعلى شكل رموز (symbols). - التابع
local_variable_get: يعيد قيمة المتغير المحلي الممرَّر إليه. - التابع
local_variable_defined?: يتحقق إن كان المتغيرsymbolالمحلي موجودًا أم لا.