0

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

或者这些事情通常是如何实现的?可以肯定地做到这一点,因为 puppet 做到了。但在我可以挖掘它的代码库之前,我在这里尝试。

另外,我可以看看内部 DSL 实现的任何不错的小例子吗?

4