こういう関数
enumerable.rb
module Enumerable
#省略
def all?(*several_variants)
yield to_enum.next; __unknown
end
end
all?はこんな感じで使う
sample.rb
%w[ant bear cat].all? { |word| word.length >= 3 } #=> true
引数に&block
があるわけでもないのに、なんで渡せるのか?
それはメソッド中にyieldがあればブロック引数は省略できるからです。
ただ、メソッドの中を見ないとブロックを渡せるかわからなくなるので、省略するかは考える必要がありそうです。