Ruby
ちょっと気になって・・
class Foo end
と
Foo = Class.new(Object)
とするのとでは、きっと同じ意味なんだろうと思うんだけど、じゃ後者の書き方でなにか役に立つこと(rubyが内部でなんやらしている関係を除いて)ってあるかな?
・・・とか考えたけど、なんにも思いつかなかった。
で、無名のクラスが作れるっていうことなのでつくってみたりして。
a = Class.new > a => #<Class:0x2e672f4>
無名クラスの親を無名クラスにしたらどうなるん?
> a = Class.new(Class.new) => #<Class:0x2e6b390> > obj = a.new => #<#<Class:0x2e6b390>:0x2e694c8> > obj.class.superclass => #<Class:0x2e6b3b8> > Foo = a => Foo > obj => #<Foo:0x2e694c8>
へぇ・・・なんだか異世界な気分がした。