📜  Haskell-基本运算符(1)

📅  最后修改于: 2023-12-03 15:01:06.919000             🧑  作者: Mango

Haskell-基本运算符

Haskell 是一种纯函数式编程语言,它的运算符和其他语言有所不同。本文将介绍 Haskell 中的基本运算符,包括数学运算符、逻辑运算符、比较运算符等。

数学运算符

Haskell 中的数学运算符与其他语言类似,包括加法、减法、乘法和除法。但是需要注意的是,Haskell 中的除法运算符 / 是被定义成实数除法的,即所有的操作数和结果都是实数。

-- 加法
3 + 5          -- 8

-- 减法
8 - 4          -- 4

-- 乘法
2 * 4          -- 8

-- 除法
8 / 2          -- 4.0

Haskell 中还有一个整数除法运算符 div,它的运算结果是整数。整数除法运算符是向下取整的,即对于任何非零的整数 a 和正整数 b,a div b 的结果总是向下取整到最接近 a / b 的整数。

-- 整数除法
7 `div` 3     -- 2
(-7) `div` 3  -- -3
7 `div` (-3)  -- -3
逻辑运算符

Haskell 中的逻辑运算符包括与运算符、或运算符和非运算符。它们的运算结果是 Bool 类型的值,即 True 或 False。

-- 与运算
True && False  -- False

-- 或运算
True || False  -- True

-- 非运算
not True       -- False
not False      -- True
比较运算符

比较运算符被用于比较两个值的大小,并返回一个 Bool 类型的值。

-- 相等
3 == 5         -- False

-- 不相等
3 /= 5         -- True

-- 小于等于
3 <= 5         -- True

-- 大于等于
3 >= 5         -- False

需要注意的是,在 Haskell 中,= 被用于定义函数和模式匹配,而比较相等使用 ==

优先级和结合性

Haskell 中的运算符有优先级和结合性,它们决定了表达式如何计算。下表列出了 Haskell 中运算符的优先级和结合性。

| 运算符 | 描述 | 结合性 | | -------------------- | ------------ | ----- | | ^ | 指数运算 | 右结合 | | *, /, div, mod | 乘法、除法、整数除法、求余 | 左结合 | | +, - | 加法、减法 | 左结合 | | :, ++ | 合并列表 | 右结合 | | ==, /=, <, <=, >, >= | 比较运算符 | 不可结合 | | && | 与运算 | 右结合 | | || | 或运算 | 右结合 |

总结

Haskell 中的基本运算符包括数学运算符、逻辑运算符和比较运算符。需要注意的是除法运算符 / 是实数除法运算符,而整数除法运算符 div 是向下取整的。运算符的优先级和结合性决定了表达式的计算顺序。