为什么会有maxBound
的 Char
?如果 Char
是字符,那么为什么用数字来解释,如果不是数字,那是什么意思?
> maxBound :: Char
'\1114111'
最佳答案
所有字符,就像计算机中的所有东西一样,最终都只是数字。 Char
代表unicode characters ,通过数字表示。您可以在 Char
之间转换和 Int
ord
的值和 chr
.例如。 a
的 unicode 值是 97,所以 ord 'a'
是 97
和 chr 97
是 'a'
.Char '\1114111'
是 Char
表示数字 1114111
,或 0x10FFFF,即 defined作为一个非字符。这是Unicode 中定义的最大值。 ,并且是 Haskell 支持的最大的:'\1114112'
会导致编译错误。
关于haskell - 为什么 Char 有一个 Bounded 的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20020616/