我有问题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