概要
二種類のブロック記述の使い分けついて
内容
Rubyのブロックの記述には以下の二種類があります。
動作上はどちらを使っても問題ありませんが、それぞれ
推奨される利用法があります。
記法1:1行のブロックの場合に使用する記法
{ expression }
記法2:複数行のブロックの場合に使用する記法
do expression1 expression2 end
サンプル
array = %w{hoge hoo bar} # ブロック内の処理が複数行に渡る場合はdo endを利用 array.each do |string| p Time.now p string end puts "----------------------------------------------------" # ブロック内の処理が1行で終る場合は{}を利用 array.each { |string| p "#{string}" }
出力
2012-05-05 00:10:32 +0900 "hoge" 2012-05-05 00:10:32 +0900 "hoo" 2012-05-05 00:10:32 +0900 "bar" ---------------------------------------------------- "hoge" "hoo" "bar"