Ruby中冒号:
和胖箭=>
之间有什么区别?或何时使用什么?
:foo => true
foo: true
答案 0 :(得分:23)
语法用于定义Hash键/值对,差别取决于Ruby版本。
Ruby 1.8和Ruby 1.9都支持
:foo => true
仅在Ruby 1.9中支持
foo: true
如果你在Ruby 1.9中开发,你应该使用语法:
foo: true
因为它似乎是社区的方向。
答案 1 :(得分:7)
后者是1.9中引入的新Hash语法。例如,见:
http://breakthebit.org/post/8453341914/ruby-1-9-and-the-new-hash-syntax
两条线产生的哈希是相同的。