Gemfile 符号

Gemfile notation

我在同一文件的 gems 声明中使用两种不同的表示法,使用 Gemfile 获得了一个 RoR 项目。

gem "browser"

gem 'execjs'

我还在 Internet 上看到使用“ ”的教程和其他使用“ ”来声明 gems 的教程,但是 none 他们在同一个文件中同时使用了这两种方法。会不会有什么麻烦?

如果不是,在声明 gems 时使用 " " 或 ' ' 有什么区别吗?

Gemfile is evaluated as a plain Ruby code开始,其实你应该明白单引号''和双引号""在Ruby中的区别是什么,而不是在Gemfile中。

所以,简明扼要地描述了in this answer

"" 允许您进行字符串插值,例如:

world_type = 'Mars'
"Hello #{world_type}"

当您 运行 bundle installbundle update 时,Gemfile 只是 Bundler 运行 的一个 Ruby 文件。

两者之间没有实际区别:

gem "browser"
gem 'browser'

两者都使用字符串 literal 调用 Bundler::Dsl#gem 方法。可以插入双引号字符串,但在这种情况下很少这样做。

选择实际上归结为个人喜好或您遵循的风格指南。

Will mixing single and double quotes cause any trouble?

取决于你的大学有多少强迫症。