如何使用 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))
我正在尝试使用 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))