我无法编译这部分代码:
game a = let
gameBoard ++ a
black = test a colors
white = (test2 a colors) - black
createScore black white
in
merge gameBoard score
geting:声明中的语法错误(意外的`}',可能是由于布局错误)
感谢您的帮助。
答案 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生成一个近距离支撑。