Sud*_*ha 3 haskell functional-programming syntax-error hugs read-eval-print-loop
我是函数式编程的新手.我有一个基本问题.
我正在使用Hugs翻译,
我想在Haskell中编写一个函数; 我去了几个教程,但我没有得到它.
fact :: Int -> Int
fact n = if n == 0 then
1
else
n * fact (n-1)
Run Code Online (Sandbox Code Playgroud)
这给了我一个语法错误:-S
ERROR - Syntax error in input (unexpected `=')
Run Code Online (Sandbox Code Playgroud)
小智 6
我假设您在交互式提示中键入此权限.遗憾的是,这些在Haskell中相对原始 - 复杂的定义,例如fact,不能在提示符下输入,至少不像你通常写的那样.
您需要将函数定义等放入模块中,然后通过(例如)加载它们:load fact.hs.Hugs专门提供了有关此主题和其他主题的更多信息(我使用http://cvs.haskell.org/Hugs/pages/hugsman/index.html来检查我的假设).
另请注意,缩进很重要,因此即使在模块中,代码也不会像您在此处发布的那样工作.那些教程将有正确的版本.如果没有,它们就没用了,你应该忘记它们.