我正在尝试制作一个包含字符串列表并执行命令的函数,putStrLn或者print将其打印到每个元素((我认为它们基本上是等效的,如果我错了,因为我还是Haskell的新手,请更正我))并打印出来在我的终端屏幕上。我正在尝试该map函数以及lambda /匿名函数,因为我已经知道如何递归执行此操作,但是想尝试一个更复杂的非递归版本。map返回了IO()类型的列表,这不是我想要的,并且我对lambda函数的尝试未按计划进行。基本代码是:
test :: [String] -> something
test x = map (\a->putStrLn a) x -- output for this function would have to be [IO()]
Run Code Online (Sandbox Code Playgroud)
不完全确定该函数的输出应该是哪个,这也给我带来了问题。
我当时正在考虑制作一个temp :: String变量,并将每个String附加到temp,然后putStrLn temp不确定如何完全做到这一点。我虽然可以使用where,但仍然遇到问题。我知道如何使用Java和C这样的语言来执行此操作,但是对于Haskell还是很陌生。任何帮助,将不胜感激。