14

除了使用符号作为键来定义散列时看起来更简洁之外,将散列编写为还有其他好处:

{key1: "value1", key2: "value2"}而不是{:key1 => "value1", :key2 => "value2"}

另外,当您将字符串和符号混合作为哈希键时,约定是什么?

你是写成{"key1" => "value1", key2: "value2"}还是保持风格一致{"key1" => "value1", :key => "value2"}

4

2 回答 2

12

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

混合密钥时(呃,你为什么要这样做?)我对整个哈希使用旧的哈希火箭语法。

对于符号值,我还对整个哈希使用旧的哈希火箭语法——这看起来很恶心:

{ ohai: :kthxbye }

我不喜欢在同一个哈希中混合两种样式——我认为这很混乱。

不过,这一切都基于个人喜好。

于 2012-07-10T14:16:47.197 回答
3

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

始终保持代码一致,不要混淆符号。这种方式更具可读性。

于 2012-07-10T14:17:03.343 回答