الفرق بين المراجعتين لصفحة: «Ruby/Binding/local variable set»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: <code>التابعBinding.local_variable_set</code> في روبي}}</noinclude> تصنيف: Ruby تصنيف: Ruby Method تص...' |
لا ملخص تعديل |
||
سطر 4: | سطر 4: | ||
[[تصنيف: Ruby ARGF]] | [[تصنيف: Ruby ARGF]] | ||
يضبط التابع <code>local_variable_set</code> قيمة المتغير المحلي الممرر إليه إلى قيمة معينة. | يضبط التابع <code>local_variable_set</code> قيمة المتغير المحلي الممرر إليه إلى قيمة معينة. | ||
سلوك هذا التابع مشابه للشيفرة التالية في حال كان بالإمكان إهمال الكائن <code>obj</code> من شيفرة روبي: | سلوك هذا التابع مشابه للشيفرة التالية في حال كان بالإمكان إهمال الكائن <code>obj</code> من شيفرة روبي:<syntaxhighlight lang="ruby"> | ||
< | binding. eval("#{symbol} = #{obj}") | ||
</syntaxhighlight> | |||
==البنية العامة== | ==البنية العامة== | ||
<syntaxhighlight lang="ruby"> local_variable_set(symbol, obj) → obj | <syntaxhighlight lang="ruby"> local_variable_set(symbol, obj) → obj | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==المعاملات== | ==المعاملات== | ||
<code>symbol</code> | |||
المتغير المحلي المراد ضبط قيمته إلى قيمة المعامل <code>obj</code>. إن كان المتغير المحلي المعطى موجودًا، فستُستبدَل قيمته. أما إن لم يكن موجودًا، فسينشأ وتضبط قيمته أيضًا إلى قيمة المعامل <code>obj</code> | === <code>symbol</code> === | ||
<code>obj</code> | المتغير المحلي المراد ضبط قيمته إلى قيمة المعامل <code>obj</code>. إن كان المتغير المحلي المعطى موجودًا، فستُستبدَل قيمته. أما إن لم يكن موجودًا، فسينشأ وتضبط قيمته أيضًا إلى قيمة المعامل <code>obj</code> | ||
=== <code>obj</code> === | |||
الكائن الذي ستسند قيمته إلى قيمة المتغير المحلي المحدد في المعامل <code>symbol</code>. | الكائن الذي ستسند قيمته إلى قيمة المتغير المحلي المحدد في المعامل <code>symbol</code>. | ||
==القيم المعادة== | ==القيم المعادة== | ||
سطر 33: | سطر 37: | ||
==انظر أيضًا== | ==انظر أيضًا== | ||
* التابع [[Ruby/Binding/eval | <code>eval</code>]]: يقدر تعابير لغة روبي الممررة إليه في السياق <code>binding</code>. | * التابع [[Ruby/Binding/eval | <code>eval</code>]]: يقدر تعابير لغة روبي الممررة إليه في السياق <code>binding</code>. | ||
* التابع [[Ruby/Binding/local_variables | <code>local_variables</code>]]: يعيد أسماء المتغيرات المحلية المعرفة في <code>Binding</code> على شكل رموز ( | * التابع [[Ruby/Binding/local_variables | <code>local_variables</code>]]: يعيد أسماء المتغيرات المحلية المعرفة في <code>Binding</code> على شكل رموز (symbols). | ||
* التابع[[Ruby/Binding/local_variable_get | <code>local_variable_get</code>]] : يعيد قيمة المتغير المحلي الممرَّر إليه. | * التابع [[Ruby/Binding/local_variable_get |<code>local_variable_get</code>]] : يعيد قيمة المتغير المحلي الممرَّر إليه. | ||
* التابع[[Ruby/Binding/local_variable_defined-3F | <code>local_variable_defined?</code>]] | * التابع [[Ruby/Binding/local_variable_defined-3F |<code>local_variable_defined?</code>]] : يتحقق إن كان المتغير <code>symbol</code> المحلي موجودًا أم لا. | ||
==مصادر== | ==مصادر== | ||
* قسم التابع local_variable_set في الصنف Binding في توثيق روبي الرسمي. | * [http://ruby-doc.org/core-2.5.1/Binding.html#method-i-local_variable_set قسم التابع local_variable_set في الصنف Binding في توثيق روبي الرسمي.] |
مراجعة 12:49، 12 سبتمبر 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
المحلي موجودًا أم لا.