在ruby中获取attr_accessor / instance变量
发布时间:2020-12-17 04:35:10 所属栏目:百科 来源:网络整理
导读:所以我知道你可以通过调用#instance_variables来获取 Ruby中的所有实例变量,但是如果它们尚未设置,那么它们就不会显示出来. 例 class Walrus attr_accessor :flippers,:tusksendw = Walrus.neww.instance_variables # = []w.tusks # = nilw.instance_variabl
所以我知道你可以通过调用#instance_variables来获取
Ruby中的所有实例变量,但是如果它们尚未设置,那么它们就不会显示出来.
例 class Walrus attr_accessor :flippers,:tusks end w = Walrus.new w.instance_variables # => [] w.tusks # => nil w.instance_variables # => [:@tusks] 我想立即访问attr_accessor定义的所有实例变量. w = Walrus.new w.instance_variables # => [:@tusks,:@flippers] 解决方法
嗯,它们还不存在.实例变量在第一次分配时就会存在.如果您想在全新的实例中使用它们,请在构造函数中触摸它们.
class Walrus attr_accessor :flippers,:tusks def initialize self.flippers = self.tusks = nil end end w = Walrus.new w.instance_variables # => [:@tusks,:@flippers] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |