相关疑难解决方法(0)

Haskell:不能使用"map putStrLn"?

我有一个字符串列表,并试过这个:

ls = [ "banana", "mango", "orange" ]

main = do
       map PutStrLn list_of_strings
Run Code Online (Sandbox Code Playgroud)

这不起作用,我不明白为什么.

ghc print-list.hs
print-list.hs:3:0:
    Couldn't match expected type `IO t' against inferred type `[IO ()]'
    In the expression: main
    When checking the type of the function `main'
Run Code Online (Sandbox Code Playgroud)

任何提示?我想它与map返回列表而不是值有关,但我没有找到一种简单的方法来解决这个问题.

现在,我知道打印字符串列表的唯一方法是编写一个函数来迭代列表,打印每个元素(如果列表是[a]则打印,但如果是(a:b)则打印和递归).但是,这将是很多简单的只使用地图...

谢谢!

io monads haskell

53
推荐指数
2
解决办法
2万
查看次数

标签 统计

haskell ×1

io ×1

monads ×1