这两种表达方式似乎没有区别。
h = {a: 1, b: 2}
h.merge({c: 3, d: 4})
h.merge(c: 3, d: 4)
如果我在使用 Hash
作为参数时省略花括号,是否会出现问题?
最佳答案
不,两个版本之间没有区别。
此外,当散列是方法的最后一个参数时,省略大括号是 Ruby/Rails 的常见习惯用法。比较以下常见示例:
validates :foo, { presence: true }
validates :foo, presence: true
link_to "Foos", foo_path, { class: "foo" }
link_to "Foos", foo_path, class: "foo"
关于ruby - 使用散列作为参数时,没有花括号有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35666706/