3

有什么方法两个使用两个或多个块的'where'?像这样的东西:

plus:: Int -> Int -> Int
plus a b = x + y
         where x = f1 a
         where y = f2 b
4

1 回答 1

15

除第一个之外的所有内容where

plus:: Int -> Int -> Int
plus a b = x + y
         where x = f1 a
               y = f2 b

注意

  • 定义必须相互一致
  • 您应该只使用空格而不是制表符来缩进定义(一些文本编辑器不使用制表符的标准制表符宽度,导致 ghc 认为最后一行缩进比实际缩进更多或更少;任何一种方式都会导致错误)
于 2012-04-27T09:44:17.227 回答