我正在做一个haskell练习,关于定义一个函数accumulate :: [IO a] -> IO [a],它执行一系列交互并将它们的结果累积到一个列表中。
让我困惑的是如何表达 IO a 的列表?(行动:行动)??
如何使用 IO 编写递归代码?
这是我的代码,但这些存在一些问题......
accumulate :: [IO a] -> IO [a]
accumulate (action:actions) = do
value <- action
list <- accumulate (action:actions)
return (convert_to_list value list)
convert_to_list:: Num a =>a -> [a]-> [a]
convert_to_list a [] = a:[]
convert_to_list x xs = x:xs