Я пытаюсь решить проблему Project Euler с помощью Ruby, я использовал 4 разных метода циклов: цикл for, times, range и upto, однако метод times дает только ожидаемый ответ, а цикл for, диапазон и до метода нет. Я предполагаю, что они несколько одинаковы, но я обнаружил, что это не так. Может кто-нибудь объяснить разницу между этими методами?
Вот структура цикла, которую я использовал
# for-loop method
for n in 0..1
puts n
end
0
1
=> 0..1
# times method
2.times do |n|
puts n
end
0
1
=> 2
# range method
(0..1).each do |n|
puts n
end
0
1
=> 0..1
# upto method
0.upto(1) do |n|
puts n
end
0
1
=> 0