こんばんわ。
yieldのblockで理解できない部分がありましたので、よろしければ教えていただきたいですm(_ _)m
ruby
1def block_sample 2 puts 'test1' 3 yield 4 puts 'test2' 5end 6 7name_list = %w(alice bob tom) 8 9block_sample do 10 name_list.each do |name| 11 puts "my name is #{name.capitalize}" 12 end 13end 14 15→ 16test1 17my name is Alice 18my name is Bob 19my name is Tom 20test2
putsの位置を変更
ruby
1def block_sample 2 puts 'test1' 3 puts yield 4 puts 'test2' 5end 6 7name_list = %w(alice bob tom) 8 9block_sample do 10 name_list.each do |name| 11 "my name is #{name.capitalize}" 12 end 13end 14 15→ 16test1 17alice 18bob 19tom 20test2
なぜ、下の方は、my name is
が消えているのでしょうか?
ここが理解できません。
ブロックを渡しているのならば、my name is
も表示されていいと思います。
この違いはなぜ、起こるのですか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/31 23:12