使用key:value而不是:key=>;是一种糟糕的风格吗;Ruby 1.9散列中的值

使用key:value而不是:key=>;是一种糟糕的风格吗;Ruby 1.9散列中的值,ruby,ruby-1.9,Ruby,Ruby 1.9,我加入的团队不鼓励使用key:value,即使是对于一个新项目,尽管它需要更少的击键次数,而且更像JavaScript(我不喜欢PHP的东西) 在Ruby的社区中,它被认为是一种糟糕的风格吗?不要认为这是一个主观的问题。我只是想问一下常见的趋势。只要项目始终以一种或另一种风格保持一致,就没有问题 如果您打算支持Rubyvalue我认为两者可以一起使用,我看不出有任何问题。这只是品味的问题 我倾向于使用新表单,因为它打字更快,而且对我来说似乎更干净,但在某些情况下,旧表单会更好,比如当您需要字符串

我加入的团队不鼓励使用
key:value
,即使是对于一个新项目,尽管它需要更少的击键次数,而且更像JavaScript(我不喜欢PHP的东西)


在Ruby的社区中,它被认为是一种糟糕的风格吗?不要认为这是一个主观的问题。我只是想问一下常见的趋势。

只要项目始终以一种或另一种风格保持一致,就没有问题


如果您打算支持Ruby<1.9,那么您当然要坚持使用
:key=>value

我认为两者可以一起使用,我看不出有任何问题。这只是品味的问题

我倾向于使用新表单,因为它打字更快,而且对我来说似乎更干净,但在某些情况下,旧表单会更好,比如当您需要字符串键时:

:"my_key" => "my value"
上面说“当哈希的键是符号时,使用Ruby 1.9哈希文本语法。”


我使用1.8风格语法的主要原因是,我目前使用的一些分析工具要么在Ruby 1.9上不起作用(heckle…至少还没有),要么在Ruby 1.9上不起作用(Ruby prof)。

给出了一些反对新语法的论据。不过,很多人似乎都喜欢它。总的来说,我不会说它被认为是不好的风格。它是否是不好的风格是主观的。Ruby社区是否认为它是一种糟糕的风格不是主观的,这是我们讨论的问题。我的同事认为不可能做到“一致”,因为我们经常需要在rails项目中到处使用非符号作为键。@powerboy:如果你使用MongoDB,你就必须使用
=>
,因为像
:$set
这样的符号不能用“新”的样式表示。这就是我在回答中试图说的。