Ich versuche, ein Projekt Euler Problem mit Ruby zu lösen, habe ich 4 verschiedene Schleifenmethoden, die for-Schleife, Zeiten, Bereich und upto-Methode, aber die Zeiten-Methode produziert nur die erwartete Antwort, während die for-Schleife, Bereich und upto-Methode nicht. Ich gehe davon aus, dass sie ungefähr gleich sind, aber ich habe herausgefunden, dass es nicht so ist. Kann jemand bitte die Unterschiede zwischen diesen Methoden erklären?Looping Unterschiede in Ruby mit Range vs. Zeiten
Hier ist die Schleifenstruktur I
# 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
Es klingt für mich nicht so, als würde er nach dem Rückgabewert fragen. – sepp2k
@ sepp2k: Ich sah, dass die * Ausgabe * jeder Anweisung '0 1' war, während die Rückgabewerte, wie durch '=>' angegeben, 3 verschiedene Werte hatten. Die Frage hätte auf jeden Fall klarer formuliert werden können. –
Hm, du hast wahrscheinlich recht. – sepp2k