在ruby中rest和归来,你如何使用它们?

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

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

返回整个函数的退出。

从最内层循环中断出口。

因此,在这样的函数中:

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 

要查看差异,请尝试:

 testing(50, "break") testing(50, "return") 

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

从方法中调用return。 它将返回您告诉它的值,并在您调用它之后立即将其放置。

我想编辑已批准的答案以简化示例,但我的编辑被拒绝,建议做出新的答案。 所以这是我的简化版本:

 def testing(target, method) (1..3).each do |x| (1..3).each do |y| print x*y if x*y == target break if method == "break" return if method == "return" end end end end 

我们可以看到差异尝试:

 testing(3, "break") testing(3, "return") 

第一个结果( break语句仅在3到达时退出最内层循环):

 1232463 

last的结果(退出语句退出整个函数):

 123 

还有一个例子可能是如果你在一个方法中有两个循环,如果你想退出第一个循环并继续第二个循环,则在第一个循环中使用break,反之亦然:

 def testing(method) x=1 10.times do if(x == 2) break if method == "break" end x+=1 end 10.times do if(x == 5) return if method == "return" end x+=1 end end