我有:
hash = {
key1:12,
key2:78
}
我想在这种方法中将哈希转换为单独的参数,例如:
SomeClass.method(key1:12, key2:78)
Ruby 没有像 Objective-C 那样的命名参数,但是你可以通过 Hash 来模拟它。在 Ruby 1.9 中,考虑到新的 Hash 语法,这甚至更好。
SomeClass.some_method(key1:12, key2:78)
基本上意味着some_method
接受一个哈希作为参数
def SomeClass
def some_method(args)
p(args)
end
end
然后如果你打电话
SomeClass.some_method(key1: 12, key2: 78)
它实际上意味着
SomeClass.some_method({ key1: 12, key2: 78 })
所以相当于传递哈希
hash = {
key1: 12,
key2: 78,
}
SomeClass.some_method(hash)