准备放弃 java 转 ruby(大四),目前在学习语言基础,对 break 和 next 在这种情况下(下面两段代码)的理解,有点不自信,请大佬们指点一下!感谢!感谢!
def total (from , to)
result=0
from.upto(to) do |num|
result+=yield(num)
end
return result
end
n=total(1,10) do|num|
if num==5
break 1
end
num
end
p n # => 1
def total (from , to)
result=0
from.upto(to) do |num|
result+=yield(num)
end
return result
end
n=total(1,10) do|num|
if num==5
next 1 # 这两端代码只有这个地方不一样
end
num
end
p n # =>51
这次把“break 会结束方法的执行”改成了“break 会结束块所在方法的执行”。