【问题标题】:ruby coding convention for single or double quoting your strings用于单引号或双引号字符串的 ruby​​ 编码约定
【发布时间】:2011-01-25 22:56:41
【问题描述】:

我环顾四周,但找不到关于如何为字符串使用引号的约定。我知道两者之间的区别,但是我到处都能看到带有双引号的好代码,而单引号就足够了。因此,我无法识别任何模式。我问这个是因为我想开始为开源做贡献,而且我想从一开始就养成一个好习惯。我宁愿尽可能多地使用单引号,也是为了增强我对两者区别的信心。

【问题讨论】:

标签: ruby string syntax convention


【解决方案1】:

你可能已经知道的:

  • 单引号适用于简单的字符串。
  • 如果您需要计算字符串中的任何内容,则需要双引号。

no significant performance difference

使用双引号很有帮助,因此您可以使用撇号而不必担心将它们转义到字符串中,从而使字符串在代码中看起来“更漂亮”。想想"Don't do that"'Don\'t do that'

有一条思路指出you should never escape in strings。如果您需要在字符串中包含单引号和双引号,最好使用heredoc 或灵活引号。最后,如果评估字符串中的 ruby​​ 代码不是一个问题,我会让它指导你在编码时需要使用什么。

【讨论】:

    【解决方案2】:

    我认为整个社区内并没有强烈的约定。从我所见,似乎完全忽略单引号并总是使用双引号。在某些圈子里,这甚至是一种约定,而是一种本地化的约定,而不是为整个社区制定的约定。

    就个人而言,每当我有几种不同的方式来表达同一件事时,我倾向于使用这些不同的方式来传达不同的语义。 (例如,我在块中使用花括号与do/end 来区分用于其副作用的块和用于其返回值的块。)

    所以,我只在我实际上想要使用字符串插值或转义时使用双引号,否则我使用单引号。这样一来,当我看到一个字符串时,我就可以立即判断出没有什么有趣的事情在发生,并且其中没有隐藏任何代码。

    不过,我很务实。我非常喜欢"It's a string!" 而不是'It\'s a string!'%q[It's a string!]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-22
      • 2011-06-05
      • 2015-12-12
      • 2011-10-06
      • 1970-01-01
      • 2013-11-09
      相关资源
      最近更新 更多