我有一个非常简单的问题:给定一个函数接受一个字符并返回一个字符串
test :: Char -> [String]
如何将char转换为字符串?我对这两种类型感到困惑。
答案 0 :(得分:45)
在Haskell中String
是[Char]
的别名:
type String = [Char]
如果您只想要一个将单个字符串转换为字符串的函数,则可以使用做
charToString :: Char -> String
charToString c = [c]
如果您更喜欢无点风格,您也可以写
charToString :: Char -> String
charToString = (:[])
答案 1 :(得分:5)
String只是一个[Char]
但这只是一种很好的说法
'H':'E':'L':'L':'O':[]
所以为了使它成为[String]我们可以做到:
['H':'E':'L':'L':'O':[]]
答案 2 :(得分:4)
另一种方法是使用
return . return
由于列表的return
定义为:[]
答案 3 :(得分:0)
请注意,您可以使用Show
将实现show
类型类的任何类型转换为字符串:
(Show a) => a -> String
因为Char
实现了这个功能,所以已经为你编写了这个函数!