التابع Binding.local_variable_set في روبي

من موسوعة حسوب
< Ruby‏ | 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 المحلي موجودًا أم لا.

مصادر