我们在rails项目上的ruby 1.9.1上使用了flog,在处理一些代码时它退出了异常:
ruby/1.9.1/racc/parser.rb:349:in `on_error': (Racc::ParseError)
parse error on value nil (tNL)
我之前遇到的问题与flog没有识别出新的Ruby sintax有关,但我找不到问题所在。
任何有关了解问题原因的帮助都是受欢迎的,我找不到办法知道哪一行失败了。
答案 0 :(得分:1)
问题在于我所说的语法。
因此,在定义方法时,如果在其他变量之前使用默认值的变量,则会出现此问题。
def par1, par2='false', par3
...
end
这是ruby 1.9.x中的有效代码,但在以前的ruby版本中没有,因为flog没有ruby 1.9.x语法支持它会引发异常。与任何其他不兼容的语法一样。
因此,如果您使用的是flog,则必须使用ruby 1.8语法。
答案 1 :(得分:0)
据我所知,flog根本不支持Ruby 1.9,它依赖于ParseTree has been killed for 1.9。也许您可以尝试使用类似https://github.com/hubertlepicki/metric_abc的内容?