ちなみに

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

Re:多段特異クラス

(追記:普通にmetametametametaclassとかにすれば良かった。修正は一瞬だけど。)

多段特異クラス - チナミニで、汚い実装をさらしていましたが、その後お好み焼きを焼いている間に素晴らしい実装が思いついたので報告いたします。

class Class
  def method_missing(meth, *args)
    if meth.to_s =~ /\Ame((?:ta)+)class\z/
      level = $1.gsub(/ta/).count
      level.times.inject(self) {|klass, _| class << klass; self end }
    else
      super
    end
  end
end

p Object.metaclass #=> #<Class:Object>
p Object.metatataclass #=> #<Class:#<Class:#<Class:Object>>>

'ta'の数によって何段か変わります。
普通に特異クラスも得られるので、とても実用的ですね!


誰から空気読まずに、特異メソッドを取得できるメソッドをRuby自身に実装しないかな。イースターエッグとして。