2017-08-17 139 views
1

它可能是一个有点琐碎的问题,但始终困扰着我:双引号中的字符串schema.rb

是否有任何具体原因为Rails使用双引号括起来的字符串,而不是单引号的字符串(如rubocop建议)中schema.rb?

+0

因为单引号字符串实际上并不更快。单引号字符串警察大多是一个有见地的BS。 https://stackoverflow.com/questions/1836467/is-there-a-performance-gain-in-using-single-quotes-vs-double-quotes-in-ruby – max

+0

在同一篇文章中的另一个答案说,因为它遵循惯例。 https://stackoverflow.com/questions/1836467/is-there-a-performance-gain-in-using-single-quotes-vs-double-quotes-in-ruby#answer-1836838 –

+0

你有没有看过'放'pancakes'.inspect'? 'String#inspect'使用双引号'#inspect'是一种超级简单的方式来处理转义成Ruby源代码的字符串中的转义。 –

回答

0

schema.rb就是使用双引号的原因是,大多数的格式是由多项预定义的字符串,呼吁#inspect进行,例如:

# schema_dumper.rb:91 
stream.puts " enable_extension #{extension.inspect}" 

而且String#inspect输出字符串与周围的双引号,即:

"foo".inspect 
#=> "\"foo\"" 

也就是说,RuboCop有抓人的错误,所以没有必要对包括由框架生成的文件,这并不意味着可以手动编辑。 (您仍然希望检查使用Rails生成器创建的应用程序文件。)

+0

有趣。感谢你的回答。 :) – ogirginc

相关问题