2015/05/13

[ruby] メタプログラミングの入口

rubyに関わらずですが、メタプログラミングを要求される場面は多いです。
メタプログラミングの導入として、利用するオブジェクトを文字列から組み立てて生成する方法をメモしておきます。




何はなくともconst_get

rubyでは、クラスの生成にconst_getを使いますが、2.0より前と後でクラスの取り方が違います。

どっちでも使える基本系
Object.const_get("A").const_get("B")

ruby2.0以降しか使えない
Object.const_get("A::B")

ruby2.0以降の方が、簡潔な書き方でクラスオブジェクトを生成できますね。


0 件のコメント:

コメントを投稿