Hyurakuのエンジニア日誌

SE出身Webエンジニアのブログ

Rubyのメソッドblock_given?の紹介 #18

先日コードを読んでいたときに気になっていたメソッドblock_givin?について紹介したい。

1. block_given

公式サイトより参照。

メソッドにブロックが与えられていれば真を返します。

ブロックとは{}に囲まれた引数や処理のことである。

2. 実際に書いてみた

次のようなファイル(index.rb)を書いてみた。

def check
  if block_given?
    puts "Block is given."
  else
    puts "Block isn't given."
  end
end

p check{}
p check

実行結果は次のとおり。

ruby index.rb
> Block is given.
> Block isn't given.

ブロックの有無のチェックをメソッド内に定義する、
という使い方がよいと考える。