الفرق بين المراجعتين ل"Ruby/Binding/local variable set"

من موسوعة حسوب
< Ruby‏ | Binding
اذهب إلى التنقل اذهب إلى البحث
(أنشأ الصفحة ب'<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">
<code>binding</code>.[[Ruby/Binding/eval | <code>eval</code>]]("#{<code>symbol</code>} = #{<code>obj</code>}")
+
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> على شكل رموز (<code>symbols</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>]]? ‎: يتحقق‎ إن كان المتغير <code>symbol</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 المحلي موجودًا أم لا.

مصادر