在Rails应用程序中真的需要“#frozen_string_literal:true”???我需要把它放在每个文件中吗?
我正在编辑的 rails 应用程序的每个文件都显示此警告,missing frozen string literal comment我知道这用于保留内存并避免为所有字符串文字重新分配内存,但是是否有必要在 rails 上使用或默认启用?如果是这样,如何在全球范围内启用它?
回答
不,默认情况下它没有启用。
但是,您可以使用 Rubocop 将其附加到文件的顶部,并带有Rubocop::Cop::Style::FrozenStringLiteralComment。这是一个可自动纠正的警察。
根据Holger Just 的说法:
您实际上可以通过使用 ruby 调用 ruby 解释器来全局启用它
--enable=frozen-string-literal。但是,这通常是一个坏主意,并且会以各种微妙的方式中断,除非您非常确定所有 gem 和依赖项中的所有文件实际上都期望冻结文字(通常情况并非如此)
- 您实际上可以通过使用 `ruby --enable=frozen-string-literal` 调用 ruby 解释器来全局启用它。但是,这通常是一个坏主意,并且会以各种微妙的方式中断,除非您非常确定所有 gem 和依赖项中的所有文件实际上都期望冻结文字(通常情况并非如此)
THE END
二维码