Tbpgr Blog

Employee Experience Engineer tbpgr(てぃーびー) のブログ

Javaプログラマーが学ぶRuby基礎/二種類のブロック記述の使い分け

概要

二種類のブロック記述の使い分けついて

内容

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"