我们在 ruby 1.9.1 on rails 项目上使用 flog,在处理一些代码时它退出引发异常:
ruby/1.9.1/racc/parser.rb:349:in `on_error': (Racc::ParseError)
parse error on value nil (tNL)
我以前遇到过与 flog 相关的问题,无法识别新的 Ruby 语法,但我现在找不到问题所在。
欢迎任何有关了解问题根源的帮助,我无法找到一种方法来了解哪一行 flog 失败。
最佳答案
正如我所说,问题出在语法上。
因此,当您在定义方法时在其他变量之前使用具有默认值的变量时,就会出现此问题。
def par1, par2='false', par3
...
end
这是 ruby 1.9.x 中的有效代码,但在以前的 ruby 版本中不是,因为 flog 没有 ruby 1.9.x 语法支持,它将引发异常。与任何其他不兼容的语法一样。
因此,如果您使用的是 flog,则必须使用 ruby 1.8 语法。
关于ruby-on-rails - Ruby 1.9.1 flog gem 解析错误值 nil (tNL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8450094/