katotatsu1213のブログ

プログラミング学習の過程を記録しようと思います

RUbyのブロックについて

お疲れ様です!

 

今日はrubyのブロックについて復習しようと思います。

ブロックはeach文でいうdo~endの間のことです。また、|hoge|と囲まれた部分がブロック引数となります。

 

まず復習としてブロックには記述の仕方が2種類あります。

ここからは例を参考にしていきます。

ages = [10, 15, 20]

ages.each do |age|

  puts age

end

という感じで先程のdo~endの形です。

そしてもう一つが{}を用いた記述になります。

ages.each {|age| puts age}

といった形になります。

こちらの記述方法でも改行は一応できます。

特に使い分けとしてはdo~endの場合は長いコードとなる場合、{}の場合は1行程で記述できる場合に使い分けるのがいいのかと思います。

 

ここまでで基礎的なブロックの書き方を復習しました。

Rubyにはたくさんのメソッドがあり、多くのメソッドにブロックが用いられていますが自分で定義したメソッドにもブロックは使えます。

yieldを使用することでメソッドに渡したブロックを使うことができます。

簡単なコードを例にすると

def num

  puts 10

  yield

end

 

num do

  puts 25

end

 

と記述してターミナルにて出力結果を確認すると10と25が出力結果として出てきます。

なのでyieldを使うとメソッドに紐付けたブロックの処理が実行されていることが確認できます。

yieldはかなり高度な開発時に使う場面があるみたいなのでとりあえず今回は基礎の基礎ということで実際に実務に移った時にさらに学ぼうと思います。

 

ではまた!