2013-06-26 56 views
0

我覺得it's也許是一個簡單的問題,但我不知道該怎麼辦While循環:顯示所有值

def text1 
    while $i < 10 
    $i = $i + 1 
    puts $i 
    redirect :action => :index 
    end 
end 

我想顯示while循環的所有值。知道我只能看到起始值1和最終值10.我怎樣才能顯示1 2 3 ...和10.

接下來的問題是,它可能會覆蓋該值嗎?因爲我只需要每秒更改一個值。

是否有可能(即sleep 1 seconnd)顯示所有值 請用正確的代碼 謝謝:)

+1

將重定向放在循環外面,也許?另外,你可能不應該使用全局變量。 –

回答

2

正確的,而在Ruby中循環語法是

while $i < 10 do 
    $i += 1 
    puts $i 
end 

而當你從循環中完成,而不是而在循環,你應該重定向。 這可能是爲什麼你沒有看到其他人,因爲你提前退出循環。

+2

這裏也沒有必要使用全局變量。我認爲這可能是OP爲什麼會看到奇怪的結果(因爲全局變量是第二次調用動作設置的) –

+0

是的,絕對是! –

+0

好吧,我改變它。但結果是相同的=/ – user2432672

-3

您的間距是不正確的應該是

def text1 
    while $i < 10 

     $i = $i + 1 
    puts $i 
    redirect :action => :index 
    end 
    end 

和睡眠見式>; sleep

Vin

+0

我從來沒有見過像這樣的間距......你從哪裏得到的?你應該堅持這個風格指南https://github.com/styleguide/ruby –