def dog
return "apple"
return "orange"
end
dog
嗨,为什么输出只返回“apple”,不应该同时返回“apple”和“orange”?我对编程很新,帮助将不胜感激。
答案 0 :(得分:0)
return
告诉程序停止执行该方法并返回给return
的值,在这种情况下为"apple"
。如果你想要字符串"apple"
和"orange"
,你应该返回一个数组。
def dog
return %w[apple orange]
end
此外,Ruby返回方法中的最后一行,这使得return
不必要。您只需编写以下内容即可。
def dog
%w[apple orange]
end
通常,在Ruby中,如果满足或不满足条件,则返回用于停止执行方法。如下所示。
def dog(likes_fruit = true)
return [] if likes_fruit == false
# return [] unless likes_fruit # (this is the same as above, but unless can be confusing when learning ruby)
%w[apple orange]
end