2013-06-06 51 views
8

我正在GHCi做一些實驗,並且我正在嘗試調整中等長時間(5分鐘)的操作。結果開始打印出來,我經常可以知道我的算法在1分鐘或更短的時間內沒有正確調整,所以我取消了操作。但是當我找到結果時,我想讓它繼續結束,然後再使用它。但是,如果我在啓動時指定它,但在處理過程中我看不到它。有什麼方法可以訪問之前輸入GHCi的表達式的結果?在GHCi中,我可以使用前一個表達式的結果嗎?

+0

http://book.realworldhaskell.org/read/getting-started.html#x_U2 –

回答

16

GHCi爲此具有特殊變量it

Prelude> 1 
    1 
Prelude> it 
    1 

這樣做的原因,如GHCi docs說明的是,非IO表達式的行爲,像這樣

someExpr ==> let it = someExpr 
      print it 

如果someExpr是IO那麼我們就會有

it <- someExpr 
print it 

所以it應始終是您以前的表達式的結果。

相關問題