单引号或双引号的ruby编码约定

eco*_*gic 8 ruby convention string syntax

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

Sha*_*aun 13

您可能已经知道的内容:

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

没有显著的性能差异.

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

有一种思路认为你永远不应该逃避弦乐.如果你的字符串中需要单引号和双引号,最好使用heredoc或灵活的引号.最后,如果在字符串中评估ruby代码并不是一个问题,那么我会在编写时指导您需要使用的内容.


Jör*_*tag 7

我不认为整个社区都有强烈的共识.从我所看到的情况来看,似乎总是忽略单引号并始终使用双引号.在一些圈子里,那就是即使是惯例,但局部的,而不是一个为整个社会.

就个人而言,每当我有几种不同的表达同一事物的方式时,我倾向于使用这些不同的方式来表达不同的语义.(例如,我使用大括号vs. do/ endin块来区分用于副作用的块和用于返回值的块.)

所以,当我真的想要使用字符串插值或转义时,我只使用双引号,否则我使用单引号.这样,当我看到一个字符串时,我可以立刻告诉他们没有有趣的事情发生,而且里面没有隐藏的代码.

不过,我很务实.我非常喜欢"It's a string!"结束'It\'s a string!'%q[It's a string!].