我想多[原文]参数散列和收到此错误:红宝石试图推动与(**参数)哈希
`method': wrong number of arguments (3 for 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])
如果您使用的是最新版本的ruby,请尝试'new_class.method(key:1,house:2)'。 – ymonad 2014-10-30 03:57:24
所有你需要做的就是删除一个'*'。 – 2014-10-30 04:27:17
或者,移除'**'并用一个参数调用:'new_class.method([[“key”,1],[“house”,2],[“key”,3]])''。 – 2014-10-30 04:35:11