我有問題n+k
模式。如何在WinGhci中設置標誌,Haskell
我想啓用它,但我不知道如何。
我在我的.hs
文件的開始處添加了{-# LANGUAGE NPlusKPatterns #-}
,但它不起作用。
另外我嘗試在我的ghci控制檯-NPlusKPatterns
打字,但只是給了我錯誤。
我有問題n+k
模式。如何在WinGhci中設置標誌,Haskell
我想啓用它,但我不知道如何。
我在我的.hs
文件的開始處添加了{-# LANGUAGE NPlusKPatterns #-}
,但它不起作用。
另外我嘗試在我的ghci控制檯-NPlusKPatterns
打字,但只是給了我錯誤。
您需要在ghci中輸入
:set -XNPlusKPatterns
,使他們。
爲了完整起見,我會指出,如果您從命令提示符加載ghci而不是運行winghci,則可以使用加載它,而不是交互式地加載:set -XNPlusKPatterns
。
你可以通過交互定義一個n + k模式來檢查它是否工作。以下是一個示例會話:
Prelude> let fact 0 = 1; fact (n+1) = (n+1)*fact n in fact 5
<interactive>:8:23: Parse error in pattern: n + 1
Prelude> :set -XNPlusKPatterns
Prelude> let fact 0 = 1; fact (n+1) = (n+1)*fact n in fact 5
120
AndrewC是正確的。然而,我會注意到,通常不鼓勵使用n + k模式 - 參見[Haskell推理](http://hackage.haskell.org/trac/haskell-prime/wiki/NoNPlusKPatterns),並且存在在郵件列表檔案中可以找到更多的討論。沒有很好的理由,我會避開它們。 – isturdy 2013-05-11 22:25:27