yieldは簡単に言いますと、引数として無名関数(ブロック)を渡します。
yieldが実行されると、その渡された無名関数が実行されます。
以下サンプルプログラムです。
`
def block
puts 'block1'
yield
puts 'block3'
end
block do
puts 'block2'
end
`
このプログラムでは、blockが呼ばれたとき、
まず、block1が出力され、
次にyieldによって、block2が出力されます。
最後にblock3が出力されるわけです。
blockメソッドの中でyieldが呼び出され、受け取ったブロックが
実行されたというわけです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。