在此上下文中解释输出

时间:2017-02-19 12:45:00

标签: ruby

def dog
  return "apple"
  return "orange"
end

dog 

嗨,为什么输出只返回“apple”,不应该同时返回“apple”和“orange”?我对编程很新,帮助将不胜感激。

1 个答案:

答案 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