Ruby哈希到方法参数
我有: 我想在这个方法中将散列转换成单独的参数,如下所示:Ruby哈希到方法参数,ruby,Ruby,我有: 我想在这个方法中将散列转换成单独的参数,如下所示: hash = { key1:12, key2:78 } Ruby没有像Objective-C这样的命名参数,但是您可以通过散列来模拟它。 在Ruby1.9中,考虑到新的哈希语法,这甚至更好 SomeClass.method(key1:12, key2:78) 基本上意味着some\u方法接受散列作为参数 SomeClass.some_method(key1:12, key2:78) 那么如果你打电话 def SomeCla
hash = {
key1:12,
key2:78
}
Ruby没有像Objective-C这样的命名参数,但是您可以通过散列来模拟它。 在Ruby1.9中,考虑到新的哈希语法,这甚至更好
SomeClass.method(key1:12, key2:78)
基本上意味着some\u方法
接受散列作为参数
SomeClass.some_method(key1:12, key2:78)
那么如果你打电话
def SomeClass
def some_method(args)
p(args)
end
end
它实际上意味着
SomeClass.some_method(key1: 12, key2: 78)
所以它相当于传递散列
SomeClass.some_method({ key1: 12, key2: 78 })
重复:请注意,您正在覆盖现有的
方法
方法。既然Ruby 2.0接受命名参数,我认为这是一个很好的问题。好的,我对新语法感到困惑,但传递哈希似乎是合乎逻辑的。伟大的
hash = {
key1: 12,
key2: 78,
}
SomeClass.some_method(hash)