التابع Object.instance_variable_set
في روبي
يُعيِّن التابع 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
: يجلب جميع أسماء متغيرات النسخة للمستقبل المعطى.