Rubyコードのライブラリがあり、実行する欠陥を探すために
$ rubocop
そして私は得る
$ rubocop
Inspecting 153 files
CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCWCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCWCCCCCCCWWCCCCC
Offenses:
Gemfile:1:1: C: Missing magic comment # frozen_string_literal: true.
source "https://rubygems.org"
Rubocopが文句を言わないようにするには、Gemfileでどのような変更が必要ですか?
追加するだけ
# frozen_string_literal: true
各Rubyファイルの最初の行に。または実行
rubocop -a
rubocopが修正可能なすべての違反を自動的に修正できるようにします。
ところで私はRubocopが好きで、自分で使用しますが、見つかったものをdefectsとは呼びません。同僚との話し合いの提案や理由のようなリストをもっと見ます。
より具体的にしたい場合は、rubocop
foronly# frozen_string_literal: true
を使用できます--only
フラグオプション:
指定された部署で指定された警官や警官のみを実行します。
それらのファイルを表示するには:
rubocop --only Style/FrozenStringLiteralComment
これらの特定のファイルを自動修正するには、-a
フラグ(前の回答で述べたとおり):
rubocop --only Style/FrozenStringLiteralComment -a
Rubocopの基本的な使用法のセクションで、より多くの コマンドラインフラグ を表示できます。
-D
オプションを指定してRubocopを実行してみてください。
rubocop -D
Inspecting 1 file
C
Offenses:
spec/Rails_helper.rb:1:1: C: Style/FrozenStringLiteralComment: Missing magic comment # frozen_string_literal: true.
require 'spec_helper'
^
-D
を追加すると、Rubocopは違反した警官の名前(この場合はStyle/FrozenStringLiteralComment
)を出力します。その後、Rubocopのドキュメントでその警官を検索できます。
http://www.rubydoc.info/gems/rubocop/RuboCop/Cop/Style/FrozenStringLiteralComment
この警官は、Ruby 3.0へのアップグレードを支援するように設計されています。コメント
# frozen_string_literal: true
をファイルの先頭に追加して、凍結された文字列リテラルを有効にします。 Ruby 3.0では、凍結された文字列リテラルがデフォルトになります。コメントはシバンとエンコーディングのコメントの下に追加されます。フリーズされた文字列リテラルコメントは、Ruby 2.3以降でのみ有効です。
無視したい場合は、.rubocop.yml
Style/FrozenStringLiteralComment:
Enabled: false
しかし、知りたいかもしれません 「マジックコメント」とは 、特にRuby 2.xを使用している場合)