我有:
hash = {
key1:12,
key2:78
}
我想在这个方法中将hash转换为单独的参数,如:
SomeClass.method(key1:12, key2:78)
答案 0 :(得分:2)
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)