Ruby 1.9中的新哈希语法有什么好处?

时间:2012-07-10 11:21:09

标签: ruby syntax ruby-1.9

除了使用符号作为键定义哈希更简洁之外,编写哈希还有其他好处:

{key1: "value1", key2: "value2"}代替{:key1 => "value1", :key2 => "value2"}

此外,当您将字符串和符号混合为散列键时,常规是什么?

您是将其写为{"key1" => "value1", key2: "value2"}还是将样式保持为{"key1" => "value1", :key => "value2"}

2 个答案:

答案 0 :(得分:11)

它看起来更好 - 它是语法糖;它最终成为同一件事。

当混合键时(呃,为什么要这样做?)我使用旧的哈希火箭语法来表示整个哈希值。

使用符号值我也使用旧的哈希火箭语法来表示整个哈希 - 这看起来很蹩脚:

{ ohai: :kthxbye }

我不喜欢在同一个哈希中混合使用这两种样式 - 我觉得这很混乱。

这完全基于个人偏好。

答案 1 :(得分:3)

它更短,与JavaScript表示法类似。由于任何原因不值得将旧记谱法迁移到新记谱法,否则选择您喜欢的记谱法。

始终保持代码一致,不要混合符号。它更具可读性。