我已经看到了showS对构建字符串的技巧的引用(例如,在本讨论中),但我从未见过它的良好描述.
什么是showS技巧?
看待这个问题:通常情况下,在交互式Haskell的环境,非拉丁Unicode字符(即使结果的一部分)印刷逃脱,即使语言环境允许这样的字符(而不是通过直接输出putStrLn,putChar它看起来很好,可读) - 示例显示GHCi和Hugs98:
$ ghci
GHCi, version 7.0.1: http://www.haskell.org/ghc/ :? for help
Prelude> "hello: ??????"
"hello: \1087\1088\1080\1074\1077\1090"
Prelude> '?'
'\1071'
Prelude> putStrLn "hello: ??????"
hello: ??????
Prelude> :q
Leaving GHCi.
$ hugs -98
__ __ __ __ ____ ___ _________________________________________
|| || || || || || ||__ Hugs 98: Based on the Haskell 98 standard
||___|| ||__|| ||__|| __|| Copyright (c) 1994-2005
||---|| ___|| World Wide Web: http://haskell.org/hugs
|| || Bugs: http://hackage.haskell.org/trac/hugs
|| || Version: September …Run Code Online (Sandbox Code Playgroud) 对chr 232回报的评估'\232'而不是'è'.
当然,我期待(chr . ord) 'è'回来'è'。相反,我得到了'\232'
有人可以解释这里发生了什么吗?