Ruby 解析代码文件

Ruby 解析代码文件,ruby,parsing,text,Ruby,Parsing,Text,也许有什么工具可以做这个?我必须提取整个块和子块,如“it”您可以用 或 并将收到一个AST(Abstrax语法树),然后您可以进一步处理它。根据您需要的源代码的详细信息量,您还可以使用一些regexp或编写自己的解析器。。。 也许您可以告诉我们更多关于您的项目的信息(输入、输出、原因)我怀疑任何解析器都不能帮助将代码块加载到变量中。它需要eval,但即使使用eval,也很难收集所有上下文等 如果目标是rspec场景,我会使用monkeypatching,为您自己的探测器做准备,如: def

也许有什么工具可以做这个?我必须提取整个块和子块,如“it”

您可以用

并将收到一个AST(Abstrax语法树),然后您可以进一步处理它。根据您需要的源代码的详细信息量,您还可以使用一些regexp或编写自己的解析器。。。 也许您可以告诉我们更多关于您的项目的信息(输入、输出、原因)

我怀疑任何解析器都不能帮助将代码块加载到变量中。它需要
eval
,但即使使用
eval
,也很难收集所有上下文等

如果目标是
rspec
场景,我会使用monkeypatching,为您自己的探测器做准备,如:

def before(*args, &block)
  MyCollector.collect_block(block)
  super(*args, &block)
end

我尝试使用分组描述块创建可重用功能部件规格代码的快速插入到ace编辑器。但是筑巢很难处理。我认为你的答案对我没有帮助。你的答案很酷,但我不知道如何处理嵌套的东西,以便以后保存。整个概念是加载文件,允许将用户代码插入已处理的块中,然后将它们保存到同一个文件中。我试着做一些类似所见即所得的事情,但只使用文本插入。你的问题的核心依赖于链接不是一个好主意。如果将来链接断了,噗!我知道代码非常广泛,但是你不能在你的问题中提供一个简化的版本吗?