Ruby on rails 为什么每个人都使用双引号而不是简单的引号?

Ruby on rails 为什么每个人都使用双引号而不是简单的引号?,ruby-on-rails,ruby,Ruby On Rails,Ruby,在ruby中,使用单引号比使用双引号快,正如我们在消息中看到的那样: 那么,为什么每个人都使用双引号(或同时使用双引号) 一些例子: (我知道,不是每个人,而是大多数。) 编辑1:插值不是原因 在Sinatra中,双引号并不总是与插值或类似的任何特殊内容一起使用: it "defines HEAD request handlers with HEAD" do 一个原因是双引号支持字符串插值,但单引号不支持 例如: some_var = 15 "I have #{some_var} c

在ruby中,使用单引号比使用双引号快,正如我们在消息中看到的那样:

那么,为什么每个人都使用双引号(或同时使用双引号)

一些例子:

(我知道,不是每个人,而是大多数。)

编辑1:插值不是原因

在Sinatra中,双引号并不总是与插值或类似的任何特殊内容一起使用:

it "defines HEAD request handlers with HEAD" do

一个原因是双引号支持字符串插值,但单引号不支持

例如:

some_var = 15
"I have #{some_var} cats"
# => "I have 15 cats"

'I have #{some_var} cats"
# => "I have \#{some_var} cats"
如果可能的话,我个人更喜欢单引号,因为我觉得它们看起来更干净。但是字符串插值是使用双引号的一个非常重要的原因


关于性能问题,它可以忽略不计,这实际上是一个偏好问题,而不是性能问题。

双引号允许字符串插值,单引号不会计算其中的任何内容,而双引号会计算。例如,双引号允许您使用转义字符,而单引号则不允许

  "he said \n hello"
将产生两行,而

  'he said \n hello'

会导致字符串“\n”在其中间

< p>我不知道你是否确实读取了那个线程,但是@ ZeTeEt实际上发现使用双引号稍微快一点。尽管如此,这项测试完成了100多万项作业,因此在这方面,它们的速度基本相同


这一切都归结于偏好。很多人来自不可能使用单引号的语言,因此他们习惯使用双引号。这完全是一个偏好问题。

双引号允许您进行插值:
“用户数:{@count\u user}”


再加上看看基准测试,我想说,充其量也没关系,开销非常小,有些基准测试使用双引号实际上更快…

已经回答并接受了,其中一些是重复的,但我的2美分价值

  • 使用双引号意味着,如果您以后确实想在字符串中添加需要插入的内容,您可以不必更改引号就可以这样做
  • 需要插值的字符串与不需要插值的字符串之间的一致性
  • 能够在一个字符串中包含所有英语,例如“don't”、“Jim's”,而无需转义或更改引号
  • 在字符串中嵌入
    \
    转义字符,如\n和\t

  • 我回答了下面的问题,但这也是一个重复的问题,请参阅更多信息。答案是:差异非常小。我们只是不在乎。这是用户的首选项。没有性能差异,因为两者在解析后将是相同的。