【发布时间】:2012-07-11 06:22:11
【问题描述】:
基本上,我想象一些看起来像这样的伪代码
build_command_list {
add_command("cmd 1")
add_command("cmd 2")
conditional_branch( some_cond ) {
add_command("cmd3")
add_command("cmd4")
}
conditional_branch( some_other_cond ) {
add_command("cmd 5")
}
}
build_command_list 方法将获取一个代码块,然后递归地构建一个树结构,其中每个节点都是一个命令,一些解释器将获取该树并从根执行它,这是该块中的第一个命令代码(在这种情况下,"cmd 1")
add_command 和 conditional_branch 是确定如何创建节点的其他方法。
有像conditional branch 这样的命令告诉解释器评估一个条件,如果为真,它将处理它的命令列表。
我想知道 ruby 是否有一些东西可以让我像上面的示例一样编写一段代码并获取代码并解析它?
如果没有,也许有人可以为我建议一种方法来编写输入,以便我可以从一组命令构建正确的命令树?
【问题讨论】:
标签: ruby