我將展示的是一個完整的函數,但它只是以簡單的方式解釋我的問題。如果我解決了這個功能的問題,我也解決了原始代碼中的問題。範圍打印在「每個」迭代結束時
問題很簡單,也可能是解決方案,但我是Ruby新手,並且有這個疑問。我想在一個範圍內打印值:
def test
(0...5).each do |i|
puts i
end
end
當我打電話的功能,我想是
0
1
2
3
4
的結果,但結果我已經是
0
1
2
3
4
0...5
爲什麼這個0...5
一起打印?我怎樣才能避免這種情況?
我在這裏沒有相同的行爲。如果我只將我的循環保存在一個rb文件中,就像你所做的那樣,我已經得到了期望的輸出。但是如果我把它們放入一個函數中,範圍會再次打印。當我在我的linux終端中調用'ruby test.rb'時。 – rwehresmann
我剛剛測試過。把'def foo; 1upto(5).each {| i |把我};結束; foo「,並用'ruby test.rb'調用它只是打印1到5的數字。我試圖做的主要觀點是在REPL(比如IRB)中,你會看到'puts/print'調用以及每個函數的返回值。 –