RuboCopの重大度「エラー」と「致命的」の違いは何ですか?
重大度に関するドキュメントには、
各警官には、所属する部門に基づいたデフォルトの重大度レベルがあります。レベルは、Lint の場合は警告であり、その他すべての場合は規則です。警察は重大度レベルをカスタマイズできます。許可されるパラメーターは、リファクタリング、規則、警告、エラー、および致命的です。
上記の一般的なルールからの例外が 1 つあります。それは Lint/Syntax です。これは、他の COP が呼び出される前に構文エラーをチェックする特別な COP です。無効にすることはできず、その重大度 (致命的) を構成で変更することはできません。
これは致命的がエラーよりも重大であることを示唆していますが、有効な Ruby ではないコードを記述でき、「エラー」レベルの違反しか生成しません。
def foo
42
# No end
$ rubocop -D invalid.rb
Inspecting 1 file
E
Offenses:
invalid.rb:3:11: E: unexpected token $end
# No end
1 file inspected, 1 offense detected