Ruby 2.0中正确的哈希语法是什么?

我应该用吗?

{ :first_name => "Mathieu", :last_name => "Jackson" } 

要么

 { first_name: "Mathieu", last_name: "Jackson" } 

这两者没有区别,所以这是个人偏好。 虽然我希望大多数人编写2.0的新代码都会使用第二种格式。

重要的是要注意,如果您正在开发开源/公共消费并希望拥有广泛的用户群,则应使用“旧”样式的哈希值。 Ruby 1.8.x,以及除RMI之外的JRuby和其他ruby实现,不支持简洁的语法。

没有“应该”。

我更喜欢1.9语法,除非有符号作为值,然后我觉得它看起来很傻。

这意味着我不统一使用它们,它取决于哈希值是什么 – 但我总是在一个立即哈希中使用相同的样式。

如果您正在寻找向后兼容性,则应使用第一个。 但第二个是整洁的。

用你想要的。 那里没有神圣的意义。 但强烈建议统一使用它。