逆天

可以使用警卫来定义函数,可以将其视为根据输入对行为进行分类。

采用以下函数定义:

absolute::Int -> Int  -- definition restricted to Ints for simplicity
absolute n = if (n < 0) then (-n) else n

我们可以使用警卫重新安排它:

absolute::Int -> Int
absolute n 
  | n < 0 = -n
  | otherwise = n

在这种情况下,otherwiseTrue 的一个有意义的别名,所以它应该永远是最后一个守卫。