在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