像红宝石中的dsl木偶

时间:2012-08-08 19:59:45

标签: ruby dsl

我正在使用ruby实现内部DSL。我提供了一个命令行工具来执行用文件编写的DSL脚本(很像puppet)。起初我打算使用load()来运行脚本,事情是,我希望能够在执行脚本之前传递一些上下文。我希望我能够以文本形式阅读脚本并将其视为块,然后使用某些给定的上下文执行该块。这样的事情可能吗?

或者这些事情一般如何实现?它可以肯定,因为木偶做到了。但在我开始挖掘其代码库之前,我正在尝试这里。

此外,我可以看一下内部DSL实现的一些不错的小例子吗?