我是 Ruby 新手,正在尝试使用 NeoVim/ALE,我也是新手。我来自 Perl,使用的是 syntastic 插件,我试图弄清楚如何最好地设置 NeoVim/ALE/RuboCop。我以前从未使用过除垢剂。
我的困惑源于这段代码:
#!/usr/bin/env ruby
r = Array() # Improper array initialization, should be Array.new()
puts r
运行时,我得到:
Traceback (most recent call last):
1: from /Users/me/ruby/workshop/dink.rb:3:in `<main>'
/Users/me/ruby/workshop/dink.rb:3:in `Array': wrong number of arguments (given
0, expected 1) (ArgumentError)
RuboCop 没有发现这个错误。我打开了 syntastic,它也没有发现错误。我假设是因为它是运行时错误,而不是我认为的编译时错误。ruby -c
在脚本上运行也不会产生错误。但也许我错了,没有正确使用语法检查工具。有人可以确认这确实是一个运行时错误并且在执行脚本之前不可能捕获吗?
我还有第二个问题:我需要 Ruby 的语法吗?它还能做 RuboCop 没有做的事情吗?
谢谢。