言語内DSLとしてのRuby 前回紹介したとおり、言語内DSLはホスト言語そのものを利用してDSLを構築します。したがって、言語内DSLではホスト言語の機能をフル活用できます。Rubyで構築された言語内DSLであれば、Rubyの制御構造の利用はもちろん、独自にクラスやメソッドを定義できますし、サードパーティーのRubyライブラリを利用することも可能です。 DSLからのRubyの利用 Rakefileは、実行時にそのままRubyのコードとして評価されます。ここで、前回紹介したhelloプログラム用のRakefile(リスト1)にRubyのメソッドを定義してみましょう。参考までに(リスト1)を再度示しておきます。 1 require 'rake/clean' 2 CLEAN.include %w(hello *.o) 3 4 task :default => ['hello'] 5 6 fil
![第4回 話題騒然! 「言語内DSL」の概念とRake【後編】](https://cdn-ak-scissors.b.st-hatena.com/image/square/7e51372d18138e90ed2c8d95d693065718b5e361/height=288;version=1;width=512/https%3A%2F%2Fimage.itmedia.co.jp%2Fimages%2Flogo%2F1200x630_500x500_enterprise.gif)