2011-05-25 51 views
9

我剛裝Haskell的平臺爲Windows(2011.2.0.1版),並開始通過HaskellQuestions.pdf聲明在GHCI提示

工作的第二個問題,需要「X = 3」作爲答案。但是當我輸入GHCi時,我得到

GHCi, version 7.0.3: http://www.haskell.org/ghc/ :? for help 
Loading package ghc-prim ... linking ... done. 
Loading package integer-gmp ... linking ... done. 
Loading package base ... linking ... done. 
Loading package ffi-1.0 ... linking ... done. 
Prelude> x = 3 

<interactive>:1:3: parse error on input `=' 
Prelude> 

爲什麼?我檢查了答案,我是對的。什麼是等號的問題?

回答

11

在GHCI,分配一個值,你必須去

let x = 3 

在正規Haskell代碼,x = 3將是有效的(見下文NB)。

Real World HaskellGetting Started頁面有很多關於使用GHCI的有用信息。

你也可以看看documentation for GHCi(但我個人認爲Real World Haskell更容易消化)。

N.B.由於EdvardM評論中的註釋,在這種情況下使用let的語法是從Haskell's do notation(如果你剛剛開始,如果你有點迷路,不要強調自己,請花點時間,玩得開心,它應該在任何時候都有意義)。

+1

謝謝。我錯過了一些文檔嗎? – Ian 2011-05-25 20:32:40

+1

不,當我開始的時候,我也有同樣的問題:-)。 Haskell的GHCi文檔使用let來記錄,但是很容易錯過 – 2011-05-25 20:34:34

+0

是的。一旦你理解了Haskell是如何工作的,並且爲了能夠改變x(你可能想說x以後會有所不同),你需要使用let語法。藉助交互式工具,您可以隨時嘗試內容並更改代碼,如果無法重新綁定符號,則會很難被咬。 – EdvardM 2011-05-25 20:37:15