【发布时间】:2012-08-09 04:13:33
【问题描述】:
我正在使用 ruby 实现一个内部 DSL。我提供了一个命令行工具来执行写在文件中的 DSL 脚本(很像 puppet)。起初我打算使用 load() 来运行脚本,事情是,我希望能够在执行脚本之前传递一些上下文。我希望我可以阅读文本形式的脚本并将其视为一个块,然后在给定的上下文中执行该块。这样的事情可能吗?
或者这些事情通常是如何实现的?可以肯定地做到这一点,因为 puppet 做到了。但在我深入研究它的代码库之前,我在这里尝试一下。
另外,我可以看一下内部 DSL 实现的任何不错的小例子吗?
【问题讨论】: