Rubyではブロックを関数の引数として渡すことが出来る。
さらにRubyではブロックを渡す記述が制御構造に見えるのが特徴っぽい
例えば配列全体に同じ作用を及ぼすtransformメソッドをブロックを
与えて書いた場合は以下のようになる
def transform(a)
a.size.times{|i|
a[i] = yield a[i]
}
end
array = [1,3,2,4]
transform(array){|a| a * 2}
p array # ->[2,6,4,8]