Rubyでは、すべてがオブジェクト。と説明される場合があります。確かに、「1」も「+」もクラス自体もすべてオブジェクトです。ですが、「ほぼ」すべてがオブジェクトであって、すべてではないんです。 修正(2010-04-30): Rubyでは、メソッドはオブジェクトではありません。トラックバックで教えていただきました。また、まつもとさんも「メソッドはオブジェクトではない」と発言しています。メソッドを「オブジェクト化」することは可能です。ちなみに、Pythonの場合は、メソッドもオブジェクトだそうです。 例をひとつ。ブロックはオブジェクトではありません。 ary.each {|x| puts x} と書けますが、 block = {|x| puts x} とは書けません。 以前、このような記事を書きました。 Rubyのblock、Proc、lambdaを理解する - このブログは証明できない。