RubyでDSLの真似事?をしています。Rubyの不勉強のため想定外の動き(解釈)にやっつけられていますが、そのたびにいい勉強(頭の刺激)になっています。で、DSL作りのときに思い出したのが、今年はじめに購入した本。内部DSLの言い出しっぺ?であるマーチン・ファウラー氏の章を読み返してみました。なるほど、なるほど。改めて読むと発見が多々ありました。1つはタイトルでもあるクラスメソッドやクラス変数の使い道の話。 内容はかなりはしょりますが、DSLを作るときには、まず始めにグローバル関数やグローバル変数を使ってみましょう。。。という話から始まって、グローバル関数やグローバル変数の数が多くなると管理が煩雑ですよね。。。だからクラスの中に入れちゃって、クラスメソッド、クラス変数として使いましょう、というくだりがあります。おお、そうか。。。グローバル関数などのスコーピング用にクラスを利用する手がある