【问题标题】:What are the benefits of the new hash syntax in Ruby 1.9?Ruby 1.9 中新的哈希语法有什么好处?
【发布时间】:2012-07-10 11:21:08
【问题描述】:

除了使以符号为键的哈希定义更加简洁之外,将哈希编写为还有其他好处吗:

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

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

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

【问题讨论】:

标签: ruby syntax ruby-1.9


【解决方案1】:

它只是看起来更好——它是语法糖;结果是一样的。

当混合键时(呃,你为什么要这样做?)我对整个哈希使用旧的 hash-rocket 语法。

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

{ ohai: :kthxbye }

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

不过,这完全取决于个人喜好。

【讨论】:

  • 那么你是只对有问题的键/值还是对整个哈希使用 hash-rocket 语法?
  • 整个哈希;我不喜欢将两者混为一谈——我没有说清楚;对不起。
【解决方案2】:

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

始终保持代码一致,不要混淆符号。这样更易读。

【讨论】:

  • 其实和JavaScript表示法类似,JSON要求keys被引用,因为keys被明确定义为字符串。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-30
  • 2017-10-15
  • 1970-01-01
  • 2012-02-06
  • 1970-01-01
  • 2011-01-09
  • 1970-01-01
相关资源
最近更新 更多