Haskell:获取函数的输出作为另一个函数的输入?

时间:2015-11-06 17:51:27

标签: string function haskell char

我使用以下代码创建了字母表;

letter :: Char -> [String]

letter 'A' = [" AAA ","A   A","AAAAA","A   A","A   A"]

以及每封信的等等。与另一个使用下面的代码大写小写字母的函数一起使用:

capital :: Char -> Char

capital letter
    | ord letter >= ord 'a' && ord letter <= ord 'z' = chr (ord letter + (ord 'A' - ord 'a'))
    | otherwise                                      = letter

我要做的就是以小写字母输入letter 'a',这样程序就可以将字母大写并打印出letter 'A'中使用的大写“A”。

1 个答案:

答案 0 :(得分:3)

当您想要将一个函数的输出提供给另一个函数时,这正是函数组合,使用运算符.

(.) :: (b -> c) -> (a -> b) -> (a -> c)

所以,你想要:

anyLetter :: Char -> String
anyLetter = letter . capital