التابع Object.instance_variable_set في روبي

من موسوعة حسوب
< Ruby‏ | Object

يُعيِّن التابع instance_variable_set قيمة متغيِّر نسخةٍ (instance variable) محدِّدٍ إلى قيمة معيَّنة في الكائن المُعطى؛ هذا يؤدي إلى إحباط جهود منشئ الصنف في محاولة توفير التغليف (encapsulation) المناسب. ليس من الضروري أن يتواجد المتغيِّر قبل استدعاء هذا التابع. إذا مُرِّر اسم متغيِّر النسخة بشكل سلسلةٍ نصيةٍ (string)، فستُحوَّل تلك السلسلة إلى رمز.

البنية العامة

instance_variable_set(symbol, obj)  obj
instance_variable_set(string, obj)  obj

المعاملات

symbol

الرمزُ الذي يشير إلى اسم متغيِّر النسخة المراد تعيين قيمة المعامل obj إليه في الكائن المُعطى.

string

سلسلةٌ نصيةٌ تُحوَّل إلى رمزٍ يشير إلى اسم متغيِّر النسخة المراد تعيين قيمة المعامل obj إليه في إلى الكائن المُعطى.

obj

الكائن المراد إسناده إلى متغيِّر النسخة symbol أو string في الكائن المعطى.

القيم المعادة

يُعاد الكائن بعد إسناده إلى متغيِّر النسخة symbol أو string في الكائن المُعطى.

أمثلة

مثالٌ عن استخدام التابع instance_variable_set:

class Fred
  def initialize(p1, p2)
    @a, @b = p1, p2
  end
end
fred = Fred.new('cat', 99)
fred.instance_variable_set(:@a, 'dog')   #=> "dog"
fred.instance_variable_set(:@c, 'cat')   #=> "cat"
fred.inspect                             #=> "#<Fred:0x401b3da8 @a=\"dog\", @b=99, @c=\"cat\">"

انظر أيضًا

  • التابع instance_variable_get: يجلب قيمة مُتغيِّر النسخة المُمرَّر إليه من الكائن المعطى.
  • التابع instance_variables: يجلب جميع أسماء متغيرات النسخة للمستقبل المعطى.

مصادر