ruby の yieldの質問になります。
『書籍プロを目指す人のためのRuby入門』伊藤淳一著 の質問となります。
(問題ないでしょうか?)
def greeting puts 'おはよう' text = yield 'こんにちは' puts text puts 'こんばんは' end greeting do |text| text * 2 end おはよう こんにちは こんにちは
yieldにて、'こんにちは'をブロックに渡しているとのことですが、
処理の流れとして、
yield 'こんにちは'が、ブロック(do以下)に渡され、textが二回繰り返される
2.
それが、def greeting ~~ endの中の text変数に代入される。
3.
そして、上記2.のtext変数が putsで出力される
という流れで問題ないでしょうか?
そうなると
do |text|~ のブロックの中のtextと、def greeting ~~ endのメソッドの中のtext変数は
異なるオブジェクトであるということになりますが、合ってますでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/25 03:27