所以我知道你可以通过调用来获取Ruby中的所有实例变量#instance_variables
,但是如果它们还没有被设置,那么它们就不会出现。
例子
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]