【发布时间】:2011-04-29 08:50:03
【问题描述】:
如果可以显示列表,我正在徘徊:
["one", "two", "three"]
显示为
"one", "two", "three"
需要为文件完成
谢谢
【问题讨论】:
如果可以显示列表,我正在徘徊:
["one", "two", "three"]
显示为
"one", "two", "three"
需要为文件完成
谢谢
【问题讨论】:
您可以使用来自Data.List 的intercalate 执行此操作
showList :: Show a => [a] -> String
showList = intercalate ", " . map show
map show 将每个元素转换为带有引号的字符串表示形式(以及任何正确转义的内部引号),而 intercalate ", " 在片段之间插入逗号和空格并将它们粘合在一起。
【讨论】:
putStrLn (showList ["one", "two", "three"]) 来打印它。为了比较,请查看仅输入 "hello" 和 putStrLn "hello" 之间的区别。
show 生成内部引号。由于解释器在结果上调用show 再次 以显示它,因此出现了混淆。