クラス構文直下のメソッド呼び出し

Rubyでは、メソッドの定義がなくてもクラス構文で書いたコードを実行できる。

class Foo
   def self.bar
     puts "pul2"
   end 

   # これよりも上にクラスメソッドを定義しておく
   self.bar
 end  
=> pul2

class Foo
   3.times do
     puts "pul4"
   end  
end
=> pul4
=> pul4
=> pul4

Rubyはクラス定義自体も上から実行されるプログラムになっており、def ~ endの中ではなくても、 クラス構文直下に直にコードを書いて実行できる。