我有一个Ruby代码库,为了查找缺陷,我运行
$ rubocop
我得到
$ rubocop
Inspecting 153 files
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCWCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCWCCCCCCCWWCCCCC
Offenses:
Gemfile:1:1: C: Missing magic comment # frozen_string_literal: true.
source "https://rubygems.org"
在我的Gemfile中需要做哪些修改才能使rubocop不抱怨?
4条答案
按热度按时间7gcisfzg1#
只要加上
到每个Ruby文件的第一行。或者运行
允许Rubocop自动修复它能够修复的所有违法行为。
顺便说一句,我喜欢Rubocop,我自己也在用它,但我不会把它发现的东西称为缺陷。我把它看作是建议或与同事讨论的理由。
1yjd4xko2#
如果你想更具体地运行
rubocop
* only*# frozen_string_literal: true
,你可以使用--only
标志选项:仅运行指定的cop和/或指定部门中的cop。
要查看这些文件,请执行以下操作:
要自动更正这些特定文件,请使用
-a
标志(如in a previous, now accepted answer所述):您可以查看有关自动更正here的详细信息。
sd2nnvve3#
如果您想忽略它,请添加到
.rubocop.yml
但是您可能想知道what "Magic comment" is,尤其是如果您使用的是Ruby 2.x
brvekthn4#
尝试使用
-D
选项运行Rubocop:添加
-D
将导致Rubocop打印被违反的cop的名称,在本例中为Style/FrozenStringLiteralComment
。然后您可以搜索该cop in the Rubocop documentation:此cop旨在帮助升级到Ruby 3.0。它将在文件顶部添加注解
# frozen_string_literal: true
以启用冻结字符串。冻结字符串将在Ruby 3.0中默认。注解将添加在shebang和编码注解下方。冻结字符串注解仅在Ruby 2.3+中有效。