在红宝石中休息和归来,你如何使用它们?

the*_*gah 25 ruby return break

我刚问了一个关于回归的问题,它似乎和休息一样.你如何使用return,以及如何使用break,例如在你编写的实际代码中解决可以使用这些结构的问题.

我不能真正发布示例,因为我不知道如何使用它们,所以它们没有多大意义.

ste*_*tef 74

返回整个函数的退出.

从最内层循环中断出口.

因此,在这样的函数中:

def testing(target, method)
  (0..100).each do |x|
    (0..100).each do |y|
     puts x*y
     if x*y == target
       break if method == "break"
       return if method == "return"
     end
    end 
  end
end
Run Code Online (Sandbox Code Playgroud)

要查看差异,请尝试:

testing(50, "break")
testing(50, "return")
Run Code Online (Sandbox Code Playgroud)

  • 还要记住,在方法内部调用的proc中使用return也会导致方法返回.确保查找lambdas和procs之间的差异. (2认同)

Nul*_*Set 8

break 从循环内部调用。它会让你在你所处的最内层循环之后。

return 从方法内部调用。它将返回您告诉它的值,并将您放在调用它的位置之后。