我第一次尝试返回功能。以下代码行显示无输出。我试图找出我的代码有什么问题。我很感激你的意见。
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"
答案 0 :(得分:2)
没有输出,因为您没有输出函数的结果。
puts favourite_drink("tea")
输出:
"I love tea too!"
你可能在irb
中试验过Ruby,它是一个REPL - 一个读取 - 评估 - 打印循环。在irb中,如果您输入了代码,则会看到:
=> "I love tea too!"
因为irb
会自动显示您键入的内容的值。在实际运行程序时,您需要专门要求输出您想要打印的内容。
答案 1 :(得分:1)
到目前为止,我不是Ruby wizz,但我认为你错过了一段实际上会为你输出的代码。你有一些字符串,但它们仍然只是:字符串。要将它们实际发送到屏幕,您需要puts
或print
等命令。
请参阅:http://en.wikibooks.org/wiki/Ruby_Programming/Strings
puts 'Hello world'
答案 2 :(得分:1)
要定位你的方法,为了显示字符串"我也爱茶!"在输出屏幕(您的终端)上,您需要为您的方法提供准确的说明。即,你需要指导你的方法' favourite_drink'采取论点"茶"并根据方法中描述的结构与它搭配使用' favourite_drink'
把favourite_drink"茶"
以上将解决您的问题。