ちなみに

火曜日の空は僕を押しつぶした。

特異な特異メソッド定義

class, module, defキーワードとeval系を使わないクラスメソッド定義がしたい(興味的な意味で)

class_method = Module.new { define_method(:foo) { :foo } }
klass = Class.new.extend class_method

p klass.foo #=> :foo

が、一番安易な手段だと思うのだけれど、もっと格好良い書き方が出来ないか模索中。
モジュールを使わずに書きたい。


ちなみに、もしdefとinstance_evalを許すなら、

klass = Class.new
klass.instance_eval { def bar; :bar end }

p klass.bar #=> :bar

と書けてしまう。
不思議。


こういう細かい部分をちゃんと理解できてない。