メソッドは、Ruby yield文を使用して、関連するコードブロックを1回以上呼び出すことができます。垂直バー(|)で出力するパラメータを与えることによって、ブロックに値を渡すこともできます。ちょうど私が下で行ったように。Ruby - それぞれIteratorで "yield"を処理する
`print_name': no block given (yield) (LocalJumpError)
これは、我々はメソッドの呼び出し中に、コードのブロックを通過することなく方法で歩留まりを使用することはできません。私のコードの行番号11で
1 def print_name
2 puts "Hello "
3 yield "Vikram"
4 end
5
6 animals = %w(ant bee cat dog elk)
7 animals.each {|animal| puts animal }
8 animals.each
9
10 print_name {|name| puts name}
11 print_name
はというエラーを与えています。
rubyの "each"メソッドの中に "yield"ステートメントがある場合、私の上記のコード "animals.each"(8行目を参照)がエラーを出すことなく動作していますか?
それは、その後
animals.each {|animal| puts animal }
存在しない場合、これは働いていないはず。