Ruby 1.9にはprocの書き方が4つある f =->n {[:hello, n]} p f[:ruby] # => [:hello, :ruby] p f.call(:ruby) # => [:hello, :ruby] p f.(:ruby) # => [:hello, :ruby] p f === :ruby # => [:hello, :ruby] Ruby 1.9では’stabby proc’記法でprocが書ける f = -> a,b {p [a,b]} p f.call(1,2) => [1,2] Ruby 1.9のブロックではブロック・ローカルな変数が使用できる v = "ruby" [1,9].map {|val; v| v = val} p v => “ruby” Ruby 1.9のブロックではブロックを変数に使用できる b = -> v, &blk { p [