除了使用符号作为键来定义散列时看起来更简洁之外,将散列编写为还有其他好处:
{key1: "value1", key2: "value2"}
而不是{:key1 => "value1", :key2 => "value2"}
?
另外,当您将字符串和符号混合作为哈希键时,约定是什么?
你是写成{"key1" => "value1", key2: "value2"}
还是保持风格一致{"key1" => "value1", :key => "value2"}
它只是看起来更好——它是语法糖;它最终成为同一件事。
混合密钥时(呃,你为什么要这样做?)我对整个哈希使用旧的哈希火箭语法。
对于符号值,我还对整个哈希使用旧的哈希火箭语法——这看起来很恶心:
{ ohai: :kthxbye }
我不喜欢在同一个哈希中混合两种样式——我认为这很混乱。
不过,这一切都基于个人喜好。
它更短,类似于 JavaScript 表示法。不值得出于任何原因将旧符号迁移到新符号,否则请选择您喜欢的符号。
始终保持代码一致,不要混淆符号。这种方式更具可读性。