haskell表达式

  1. 条件表达式
  2. 情况分析表达式
  3. 守卫表达式
  4. 匹配模式表达式
  • 运算符

    条件表达式

    1
    2
    3
    4
    isOne :: Int -> Bool
    isOne arg =
    if arg == 1 then True
    else False

    情况分析表达式

    switch case类似,只不过情况分析表达式没有break, 使用_作为通配符.

    1
    2
    3
    4
    5
    6
    month :: Int -> Int
    month n = case n of
    1 -> 31
    2 -> 28
    12 -> 31
    _ -> error "error"

    守卫表达式

    1
    2
    3
    abs :: Num a => a -> a
    abs n | n > 0 = n
    | otherwise = -n

    匹配模式表达式

    1
    2
    3
    4
    5
    6
    month :: Int -> Int
    month 1 = 31
    month 2 = 28
    month 3 = 21
    month 12 = 31
    month _ = error "error"

    运算符

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    优先级9 : !!, .
    优先级8 : ^, ^^, **
    优先级7 : *, /, div, mod, rem, quot
    优先级6 : +, -
    优先级5 : :, ++
    优先级4 : ==, /=, <, <=, >, >=, elem, notElem
    优先级3 : &&
    优先级2 : ||
    优先级1 : >>, >>=
    优先级0 : $, $!, $!!seq

    凡是英文运算符,其前后都必须带有`标点