yhara.jp

Recent Posts
Edit

Rubyの黒魔術

Tech

Rubyの黒魔術といえば?

eval

実行時にRubyプログラムを評価できる。instance_eval, class_eval, module_evaというバリエーションがある。

method_missing

NoMethodErrorをフックできる。存在しないメソッドが生えてるように見せられる。

使う時はrespond_to?も併せて定義すべき。というか大抵はdefine_methodで足りる。

TracePoint

set_trace_funcに代わるもの。Rubyの一挙手一投足をフックできる。

callcc

時空を巻き戻す最終魔法。強力すぎるのでrequireしないと使えないよう封印された。


More posts