字符串函数

时间:2011-05-29 16:00:03

标签: haskell

我有一个非常简单的问题:给定一个函数接受一个字符并返回一个字符串

test :: Char -> [String]

如何将char转换为字符串?我对这两种类型感到困惑。

4 个答案:

答案 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实现了这个功能,所以已经为你编写了这个函数!