2006-02-28 block_given? Rubyのメソッドの中で、ブロック(イテレータ)が与えられているかどうかを調べるときにはblock_given?が使えます。 def my_each(*arg) if block_given? arg.each do |a| yield(a) end else arg end end my_each(1,2,3) do |f| p f end p my_each(1,2,3) #=> [1, 2, 3]