【发布时间】:2012-03-15 09:19:55
【问题描述】:
需要帮助解决我头疼的问题。我知道实现我想要的需要采取的步骤(排序),但我真的不知道如何去做。
例如
假设我有 Maybe Int 的列表 - [[Just 2, Nothing, Just 3],[Just 6,Just 3, Just 3],[Nothing,Nothing, Just 1]]
我需要创建一个函数。
1) 获取Maybe Ints 的列表
[[Just 2, Nothing, Just 3],[Just 6,Just 3, Just 3],[Nothing,Nothing, Just 1]]
2) 获取第一个列表 (head?)
[Just 2, Nothing, Just 3]
3) 遍历列表中的每个元素 - (x:xs)
Just 2, Nothing, Just 3
4) 将Maybe Int 转换为Char - fromEnum
'2', ' ', '3'
5) 返回包含所有字符的完整 String - (++) = [char] / String
"2 3"
6) 移动到下一个 List 直到 list = []
[Just 6,Just 3, Just 3]
所以最终结果会是这样打印在单独的行上:
"2 3"
"633"
" 1"
我试图尽可能地解释它,任何提示/帮助/信息来源将不胜感激。
【问题讨论】:
-
仅供参考,您一直说您想对 Maybe Int 列表进行操作,但您的示例每个都有 List Maybe Int 列表。即[[也许是整数]]
标签: list haskell recursion char maybe