Project1

标题: 有什么方法在没attr也可用那类的变数 [打印本页]

作者: 合法权益    时间: 2008-6-7 08:33
标题: 有什么方法在没attr也可用那类的变数
rt [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 3535    时间: 2008-6-7 08:34
instance_variable_get(var)

取得并返回对象的实例变量的值.

可以使用字符串或者Symbol来向var指定实例变量名.

若实例变量尚未定义,则返回nil.

class Foo
  def initialize
    @foo = 1
  end
end

obj = Foo.new
p obj.instance_variable_get("@foo")     # => 1
p obj.instance_variable_get(:@foo)      # => 1
p obj.instance_variable_get(:@bar)      # => nil

[LINE]1,#dddddd[/LINE]
instance_variable_set(var, val)

将val的值赋值给对象的实例变量并返回该值.

可以使用字符串或Symbol来向var设定实例变量名.

若实例变量尚未定义,则重新定义.

obj = Object.new
p obj.instance_variable_set("@foo", 1)  # => 1
p obj.instance_variable_set(:@foo, 2)   # => 2
p obj.instance_variable_get(:@foo)      # => 2
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1