ruby を使用して内部 DSL を実装しています。ファイルに記述された DSL スクリプトを実行するためのコマンド ライン ツールを提供します ( puppetによく似ています)。最初は load() を使用してスクリプトを実行するつもりでしたが、スクリプトを実行する前に何らかのコンテキストを渡すことができるようにしたいと考えていました。スクリプトをテキスト形式で読み取り、それをブロックとして扱い、そのブロックを特定のコンテキストで実行できることを望んでいました。このようなことは可能ですか?
または、そのようなことは一般的にどのように達成されますか? パペットがやるので確実にできます。しかし、そのコード ベースを掘り下げる前に、ここで試してみます。
また、私が見ることができる内部 DSL 実装の素敵な小さな例はありますか?