如何解释Haskell字符'\ 250'

时间:2017-01-31 16:38:20

标签: haskell escaping ascii

我试图理解逃逸在Haskell中是如何工作的。

head "\250\218" 回报 '\250'

所以Haskell认为\ 250是一个角色。到底发生了什么?

2 个答案:

答案 0 :(得分:8)

字符串=由两个数字转义符组成,每个转义符表示一个字符,字符代码以十进制形式给出。应用"\250\218"会返回第一个,打印head。如果您对此应用'\250',您会看到它的数字代码为250(十进制)。您可以使用Data.Char.ord制作相似的角色。

如下所示,使用这些代码打印字符会产生符合Unicode的重音字母。

使用GHCi:

Data.Char.chr

了解更多信息:

http://book.realworldhaskell.org/read/characters-strings-and-escaping-rules.html#id689632

答案 1 :(得分:6)

'\250'是任何Unicode字符都有代码点(十进制)250,在这种情况下LATIN SMALL LETTER U WITH ACUTE(ú)。