Haskell语法错误?

时间:2014-05-03 07:24:26

标签: haskell

我无法编译这部分代码:

game a = let 
             gameBoard ++ a
             black = test a colors
             white = (test2 a colors) - black
             createScore black white
         in 
             merge gameBoard score

geting:声明中的语法错误(意外的`}',可能是由于布局错误)

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

in是同一let语句的一部分,因此必须在同一行或进一步缩进,例如

game a = let 
             gameBoard ++ a
             black = test a colors
             white = (test2 a colors) - black
             createScore black white
               in 
                 merge gameBoard score

Haskell的语法布局规则大致是如果它在同一行中是进一步的,如果它排成一行就是一个块内的新行,如果它是缩进的,则它是块的结尾,这就是为什么你的{{1生成一个近距离支撑。