1

我是第一次尝试返回功能。以下代码行不显示任何输出。我试图弄清楚我的代码有什么问题。我很感激你的意见。

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!"

您可能已经在 Ruby 中试验过irb,它是一个 REPL——一个读取-评估-打印循环。在 irb 中,如果你输入你的代码,你会看到:

 => "I love tea too!"

因为irb自动向您显示您键入的任何内容的值。实际运行程序时,您需要特别要求输出您想要打印的任何内容。

于 2012-08-01T06:52:51.520 回答
1

以您的方法为目标,以显示字符串“我也爱茶!” 到输出屏幕(您的终端),您需要为您的方法提供准确的说明。即,您需要指示您的方法 'favourite_drink' 采用参数“tea”并根据方法 'favourite_drink' 中描述的结构使用它

把 favourite_drink “茶”

以上将解决您的问题。

于 2012-08-01T10:01:03.730 回答
1

到目前为止,我不是 Ruby wizz,但我认为您缺少一段实际上会为您执行输出的代码。你有一些字符串,但它们仍然是:字符串。要将它们实际发送到屏幕,您需要一个类似putsor的命令print

见:http ://en.wikibooks.org/wiki/Ruby_Programming/Strings

puts 'Hello world'
于 2012-08-01T06:52:47.933 回答