1

初めてreturn関数を試しています。次のコード行は出力を示しません。コードの何が問題なのかを理解しようとしています。ご意見をお寄せいただければ幸いです。

def favourite_drink name
   if name == "tea"
     return "I love tea too!"
   end

   if name == "lemonade"
     return "Stuff's refreshing, isn't it?"
   end

   if name == "coffee"
     return "Dude, don't have too much of that stuff!"
   end

   "So what exactly is it that you like? (scratches head)"
end  

favourite_drink "tea"
4

3 に答える 3

2

関数の結果を出力しないため、出力はありません。

puts favourite_drink("tea")

出力:

"I love tea too!"

irbおそらく、REPL (read-eval-print ループ)で Ruby を試したことがあるでしょう。irb でコードを入力すると、次のように表示されます。

 => "I love tea too!"

irb入力した値が自動的に表示されるためです。プログラムを実際に実行するときは、印刷したいものを出力するように具体的に要求する必要があります。

于 2012-08-01T06:52:51.520 に答える
1

私は決して Ruby の達人ではありませんが、実際に出力を行うコードが欠落していると思います。いくつかの文字列がありますが、文字列のままです。それらを実際に画面に送信するには、putsまたはのようなコマンドが必要printです。

参照: http://en.wikibooks.org/wiki/Ruby_Programming/Strings

puts 'Hello world'
于 2012-08-01T06:52:47.933 に答える
1

あなたのメソッドをターゲットにするには、「私もお茶が大好きです!」という文字列を表示します。出力画面(端末)に対して、メソッドに正確な指示を与える必要があります。つまり、メソッド 'favourite_drink' に引数「tea」を取り、メソッド 'favourite_drink' 内に記述された構造に従ってそれを処理するように指示する必要があります。

puts favourite_drink "お茶"

上記はあなたの問題を解決します。

于 2012-08-01T10:01:03.730 に答える