我知道我可以做到:
class Parent
def initialize(args)
args.each do |k,v|
instance_variable_set("@#{k}", v)
end
end
end
class A < Parent
def initialize(attrs)
super(attrs)
end
end
但是我想使用关键字参数来更清楚地说明哪个哈希键方法可以接受(并且验证说不支持这个键)。
所以我可以写:
class A
def initialize(param1: 3, param2: 4)
@param1 = param1
@param2 = param2
end
end
但是是否可以写一些更短的东西而不是@x = x; @y = y; ...
从传递的关键字参数初始化实例变量?是否可以访问作为哈希传递的关键字参数?