繁体   English   中英

如何使用ruby_parser解析多行?

[英]How can I parse multiple lines using ruby_parser?

我正在尝试使用ruby_parser解析文件中的一些多行Ruby代码。

假设我要解析以下代码:

def foo
  2 + 2
end

当我执行以下操作时,我得到一个错误:

RubyParser.new.parse("def foo")
#=> Racc::ParseError: (string):1 :: parse error on value "$end" ($end)

因为该行不包含end

我使用File.readlines(file)一次传递一行。

理想情况下,我将文件名指定为RubyParser ,但似乎无法弄清楚,而且文档很少。

您不能逐行通过。 一次传递整个代码。

RubyParser.new("def foo\n  2 + 2\nend")

要么

RubyParser.new(File.read(file))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM