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

时间:2012-08-01 13:47:19

标签: ruby-on-rails ruby

在ruby中使用单引号比双引号更快,正如我们在消息中看到的那样:Is there a performance gain in using single quotes vs double quotes in ruby?

那么为什么每个人都使用双引号(或两者)???

一些例子:

(我知道,除了大多数人之外并不是每个人。)

编辑1:插值不是原因!

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

it "defines HEAD request handlers with HEAD" do

4 个答案:

答案 0 :(得分:7)

双引号允许您进行插值:"Number of users : #{@count_user}"

另外看一下基准测试,我会说最好不要紧,开销很小,一些基准实际上用双引号更快......

答案 1 :(得分:5)

双引号允许字符串插值,单引号不会在双引号内评估其中的任何内容。例如,双引号将允许您使用转义字符和单引号不会!

  "he said \n hello"

将导致2​​行

  'he said \n hello'

将导致在其中间带有'\ n'的字符串

答案 2 :(得分:2)

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

例如:

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

'I have #{some_var} cats"
# => "I have \#{some_var} cats"

我个人更喜欢单引号,因为我认为它们看起来更干净。但字符串插值是使用双引号的一个非常重要的原因。

关于性能问题,它是如此微不足道,以至于它实际上是一个偏好而不是性能问题。

答案 3 :(得分:0)

我不知道你是否真的正确地读过那个帖子,但@zetetic实际上发现使用双引号会稍快一些。尽管如此,这项测试完成了超过100万次任务,因此在这方面他们的速度基本相同。

这一切都取决于偏好。很多人来自单语言不可能的语言,所以他们习惯于双引号。这完全是一个偏好。