我正在尝试从字符串制作为字符列表。但是我想出了一些办法,但是我陷入了困境。
compress :: String -> [Char]
compress x = [map head (group x) !! a : []| a <- [0..length x]]
问题在于这几乎可以解决问题,但是当我写“ apple”时,它附带了["a","p","p","l","e"]
而不是['a','p','p','l','e']
我们都知道
"apple" /= ["a","p","p","l","e"]
。
但是当我在GHCI上尝试但没有列出列表时,它可以正常工作,例如:
map head (group "apple") !! 0
-> 'a'
但是,当我尝试列出这些元素的列表时,就像将每个元素都放在另一个之后,它的确像这样[[a],“ p”,“ p”,...]。 我的问题是:有没有一种方法可以将字符串放入字符列表而不将其放入“”?
感谢您的帮助
答案 0 :(得分:1)
由于String
是[Char]
的类型同义词,因此"apple"
已经与['a','p','p','l','e']
相同。
不确定您要寻找什么功能,但是id :: String -> [Char]
可能就足够了。