我有一个列表['%','&','/']。如何将其转换为[%,&,/]?
形式答案 0 :(得分:6)
myShow :: [Char] -> String
myShow s = concat ["[", intersperse ',' s, "]"]
像这样使用:
putStrLn (myShow ['%','&','/']) -- prints [%,&,/]
但是如果您希望这与show
和print
一起使用,则必须定义自己的类型:
data MyChar = MyChar Char
instance Show MyChar
where show (MyChar ch) = [ch]
然后按[MyChar]
而不是[Char]
:
let myList = map MyChar ['%','&','/']
-- ... do whatever you want with myList ...
print myList -- prints [%,&,/]
答案 1 :(得分:1)
"[" ++ intercalate ',' list ++ "]"
intercalate
在Data.List
中声明。