Haskell的新功能,有意外的'='

use*_*198 2 haskell syntax-error

我是Haskell的新手,并尝试在讲义中遵循脚本.我创建了一个名为lecture.hs的文件

root (a, b, c) = ((-b -r)/e, (-b + r)/e))
 where d = b*b - 4*a*c
       r = sqrt d
       e = 2*a
Run Code Online (Sandbox Code Playgroud)

当我加载这个文件来拥抱它显示

ERROR "lecture.hs":3 - Syntax error in input (unexpected `=')
Run Code Online (Sandbox Code Playgroud)

当我把它加载到ghci它显示

[1 of 1] Compiling Main             ( lecture.hs, interpreted )

lecture.hs:3:14: parse error on input `='
Failed, modules loaded: none.
Run Code Online (Sandbox Code Playgroud)

请帮帮我.谢谢!

dup*_*ode 5

粘贴在此处,您的代码段在语法上是有效的.无论如何,以下一定会起作用:

root (a, b, c) = ((-b -r)/e, (-b + r)/e)
    where
    d = b*b - 4*a*c
    r = sqrt d
    e = 2*a
Run Code Online (Sandbox Code Playgroud)

当然,压痕风格在很大程度上是个人选择.我喜欢放在where一个单独的行中,因为这样我可以在四个空格步骤中预测缩进代码.无论你选择什么样的风格,都不要使用标签来缩进,因为这会导致很多混乱.