为什么Rubymine建议我在字符串上使用单引号而不是双引号?

时间:2014-03-18 03:28:31

标签: ruby rubymine

每次我使用双引号字符串时,我都会收到这样的建议:

enter image description here

当我点击灯泡图标时,我可以选择将该字符串转换为单引号字符串。

有人可以解释为什么单引号字符串比双引号字符串更受欢迎吗?

3 个答案:

答案 0 :(得分:22)

如果字符串中没有插值,则首选单引号。 Ruby(在理论上)将减少输出单引号字符串的工作量,这反过来会加速你的代码(理论上再次)。这就是RubyMine建议的原因之一。

另一个原因是显而易见。您可以在样式指南中阅读以下内容:Ruby Coding Style Guide

基准测试已经证明,与实际执行时间相比,使用单个双引号字符串的速度增加可以忽略不计。

最终答案归结为风格。要了解效果,请查看以下问题:Is there a performance gain in using single quotes vs double quotes in ruby?

答案 1 :(得分:5)

使用作为性能差异,因此当您没有插值时,rubymine(以及大多数社区)推荐使用单引号。

性能差异不再存在。 http://viget.com/extend/just-use-double-quoted-ruby-strings

您可以停用警告:

Preferences> Editor> Inspections> Ruby> Double quoted string

很遗憾,您无法撤消警告并显示单引号字符串的警告。

答案 2 :(得分:1)

单引号将保留转义字符,例如\ n,而这些字符将转义双引号。

我目前没有安装RubyMine,因为我的试用版已用完,但我愿意打赌你可以在首选项中改变它,如果你更喜欢使用双引号并且建议困扰你。