以下代码的语法无效:
# bad_code.rb
def foo
next
end
$ ruby bad_code.rb
bad_code.rb:2: Invalid next
bad_code.rb: compile error (SyntaxError)
但是,运行ruby -c bad_code.rb
并没有检测到任何问题:
$ ruby -c bad_code.rb
Syntax OK
然而ruby -c
应该用于检查语法:
-c 只检查语法
为什么它没有检测到这个错误?
rubocop bad_code.rb
也没有检测到这一点:
$ rubocop bad_code.rb
Inspecting 1 file
.
1 file inspected, no offenses detected
我在 Ruby 2.1.10 上运行了这个。