Rubyのオブジェクトは生物なんかじゃない、TopLevelこそが生物なんだ! - hp12c

screenshot

RubyのTopLevelは不思議だ Rubyオブジェクト指向言語だから 普通まずクラスでオブジェクトを定義し これをインスタンス化し この生まれたオブジェクトにメッセージを送る という手続きを経てプログラムが組成される class Person def initialize(name) @name = name end def name @name end end me = Person.new("Charlie") me.name # => "Charlie ...

http://d.hatena.ne.jp/keyesberry/20080905/p1

ruby のトップレベルはmain というObject クラスのオブジェクト。だからそこでクラスとしてinstanceメソッドを定義でき しかもそのメソッドをそのインスタンスとして呼び出せる。つまり自身で自身を作るという自己増殖の機能

http://b.hatena.ne.jp/entry/http://d.hatena.ne.jp/keyesberry/20080905/p1