どうもRubyをやっているものです。突然ですがRubyのブロックってよくわからなくないですか?そこで今回は簡単にブロックについてまとめておきたいと思います。
Rubyのブロックについて簡単にまとめる
ブロックとは
ブロックを一言で言うと「メソッドの呼び出しの時、引数と一緒に渡すことのできる処理のかたまり」です。要するにちょっとした処理のまとまりってことですね。
ブロックのあるメソッドの書き方は以下の通りです。
コード
オブジェクト.メソッド名(引数) do |ブロック変数|
繰り返したい処理
end
ちなみにdo…endの処理を以下のように「{ }」で記載することもできます。ちょっと違いがあるのですが、基本的には同じと思って構いません。
コード
オブジェクト.メソッド名(引数) { |ブロック変数|
繰り返したい処理
}
ブロック変数はブロックを実行する際にメソッドから渡されるパラメータのことです。
ブロックの使い方
ブロックはいろいろな使われ方がありますが主なものは「繰り返し」です。例えば以下のようにeachを使って繰り返すときに、ブロックを使います。
コード
[1, 2, 3, 4, 5].each do |x|
puts x * 2
end
#=>2
4
6
8
10
基本的にはこれだけ覚えておけばOKですが、あとの使われ方として「定形処理の省略」や「計算の一部分を差し替える」といった処理もできます。この辺りについては、自分で調べてください!