在控制台遇到的问题,看着相似,结果却截然不同。
意图:累加,如果小于 2, 就 +1
, 如果大于 3, 就 +2
(1..5).inject(0) do |sum, a|
next sum + 1 if a <2
next sum + 2 if a >3
sum
end
输出结果:=> 5
(1..5).inject(0) do |sum, a|
next sum + 1 if a <2
sum + 2 if a >3
sum
end
输出结果:=>1
(1..5).inject(0) do |sum, a|
next sum + 2 if a >3
next sum + 1 if a <2
sum
end
输出结果:=>5
(1..5).inject(0) do |sum, a|
next sum + 2 if a >3
sum + 1 if a <2
sum
end
输出结果:=>4
究竟问题出在哪里?