以下是可能的吗?我一直遇到哈希的奇数列表
def thores_hammer(bling)
hammer_bling = { bling }
end
thores_hammer :rubys => 5,
:emeralds => 5,
:souls => 333
提前致谢。
最佳答案
您遇到错误的原因是
Hash
是在thores_hammer
方法时隐式创建的
被调用 - 所以当你执行 { bling }
时,你正在创建一个哈希
只有一个键(它本身就是一个散列)并且没有值。就这样
错误。
您需要做的就是去掉花括号:
irb> def thores_hammer(bling)
hammer_bling = bling
end
#=> nil
irb> thores_hammer :rubys => 5,
:emeralds => 5,
:souls => 333
#=> {:rubys=>5, :emeralds=>5, :souls=>333}
关于ruby - 哈希作为 def 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/779054/