Ruby silverの受験勉強をしているものです。
ご教授頂けますと幸いです。
【質問内容】
def hoge(n) unless n == 3 ret = "hello" end if n == 5 ret = "world" end ret end str = '' str.concat hoge(4) str.concat hoge(5) puts str => 'helloworld'
hogeの引数に4があるときn == 3
ではないのでunless分以下が実行されると思うのですが、
hogeの引数が5の場合は何で、if文のret = "world"
が実行されているのでしょうか?
プログラムは上から実行されるというのが自分の認識なのですが、それだと、if文にたどり着く前に、
unless n == 3 ret = "hello" end
が実行され、出力が'hellohello'
になるのではないかと思いました。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/18 14:04