haskell - 为什么 Char 有一个 Bounded 的实例?

标签 haskell

为什么会有maxBoundChar ?如果 Char是字符,那么为什么用数字来解释,如果不是数字,那是什么意思?

> maxBound :: Char
'\1114111'

最佳答案

所有字符,就像计算机中的所有东西一样,最终都只是数字。 Char 代表unicode characters ,通过数字表示。您可以在 Char 之间转换和 Int ord 的值和 chr .例如。 a 的 unicode 值是 97,所以 ord 'a'97chr 97'a' .
Char '\1114111'Char表示数字 1114111 ,或 0x10FFFF,即 defined作为一个非字符。这是Unicode 中定义的最大值。 ,并且是 Haskell 支持的最大的:'\1114112'会导致编译错误。

关于haskell - 为什么 Char 有一个 Bounded 的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20020616/

相关文章:

haskell - 适用:证明 `pure f <*> x = pure (flip ($)) <*> x <*> pure f`

haskell - Haskell 的 lens 包如何处理也是关键字的字段?

haskell - 在 Haskell 中处理惰性输入 channel 的惯用方法是什么

Haskell - 解释 `tell` 如何工作

haskell - 如何在 haskell 中为这棵树实现 monoid 接口(interface)?

c - 奇怪的 "half to even"不同语言的舍入

haskell - 键入带有包名称和版本前缀的名称

haskell - 返回由 Haskell 中的两次插入修改的图

Haskell:类型类:多重继承示例

haskell - 如何在 Haskell 程序中发现和理解多余的数据依赖性