我使用以下代码创建了字母表;
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”。
答案 0 :(得分:3)
当您想要将一个函数的输出提供给另一个函数时,这正是函数组合,使用运算符.
:
(.) :: (b -> c) -> (a -> b) -> (a -> c)
所以,你想要:
anyLetter :: Char -> String
anyLetter = letter . capital