الفرق بين المراجعتين لصفحة: «Ruby/Binding/local variable set»
ط نقل محمد-بغات صفحة Binding/local variable set إلى 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
المحلي موجودًا أم لا.