rubocop你如何修复失踪的魔法评论

ame*_*ior 8 ruby rubygems rubocop frozen

我有一个ruby代码库,并寻找我运行的缺陷

$ rubocop
Run Code Online (Sandbox Code Playgroud)

我明白了

$ rubocop
Inspecting 153 files
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCWCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCWCCCCCCCWWCCCCC

Offenses:

Gemfile:1:1: C: Missing magic comment # frozen_string_literal: true.
source "https://rubygems.org"
Run Code Online (Sandbox Code Playgroud)

我的Gemfile需要进行哪些修改才能使rubocop不抱怨?

spi*_*ann 17

只需添加

# frozen_string_literal: true
Run Code Online (Sandbox Code Playgroud)

到每个Ruby文件的第一行.或者跑

rubocop -a
Run Code Online (Sandbox Code Playgroud)

允许Rubocop自动修复所有可以修复的攻击.

顺便说一句.我喜欢Rubocop并自己使用它,但我不会把它发现的东西称为缺陷.我看到这份清单更像是与我的同事讨论的建议或理由.


jdg*_*ray 9

如果要更具体并且运行rubocop,可以使用标志选项: # frozen_string_literal: true--only

仅在指定部门中运行指定的警察和/或警察。

要查看这些文件:

rubocop --only Style/FrozenStringLiteralComment
Run Code Online (Sandbox Code Playgroud)

要自动更正这些特定文件,请使用-a标志(如上一个答案中所述):

rubocop --only Style/FrozenStringLiteralComment -a
Run Code Online (Sandbox Code Playgroud)

您可以在Rubocop的基本用法部分中查看更多命令行标志