我尝试将多个[sic]参数添加到哈希并收到此错误:
`method':参数数量错误(3表示0)(ArgumentError)
有人可以告诉我如何实现这个/我做错了什么?
class MyClass
attr_accessor :variable
def initialize
@variable = {}
end
def method(**parameter)
parameter.each {|k,v| @variable[k] = v}
end
end
new_class = MyClass.new
p new_class.method(["key", 1],["house", 2],["key", 3])
答案 0 :(得分:4)
您可能想要考虑更多惯用的Ruby
class MyClass
def initialize
@variable = {}
end
def method hash
@variable.merge! hash
end
end
然后像这样使用它
foo = MyClass.new
foo.method a: 1, b: 2
最后一行是加油的Ruby for
foo.method({:a => 1, :b => 2})