我试图理解逃逸在Haskell中是如何工作的。
head "\250\218"
回报
'\250'
所以Haskell认为\ 250是一个角色。到底发生了什么?
答案 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(ú)。