2
我是新来的haskell,我试图在同一行中打印列表的元素。例如:在同一行中打印列表中的元素
[1,2,3,4] = 1234
如果元素是字符串,我可以mapM_ putStr ["1","2","3","\n"]
打印,但他们都没有..有人知道一个解决方案,使功能和打印?
我尝试dignum xs = [ mapM_ putStr x | x <- xs ]
过的击打不工作..
我是新来的haskell,我试图在同一行中打印列表的元素。例如:在同一行中打印列表中的元素
[1,2,3,4] = 1234
如果元素是字符串,我可以mapM_ putStr ["1","2","3","\n"]
打印,但他们都没有..有人知道一个解决方案,使功能和打印?
我尝试dignum xs = [ mapM_ putStr x | x <- xs ]
过的击打不工作..
可以使用show :: Show a => a -> String
一个元素(这里的整数)转换,其文字表述为String
。
此外,我们可以使用concat :: [[a]] -> [a]
将元素列表列表转换为元素列表(通过将这些列表连接在一起)。在String
的背景下,我们可以使用concat :: [String] -> String
将数字连接在一起。
因此,我们就可以使用:
printConcat :: Show a => [a] -> IO()
printConcat = putStrLn . concat . map show
这就产生:
Prelude> printConcat [1,2,3,4]
1234
注意,printConcat
功能不局限于数字(整数),它可以是任何类型的对象是Show
类的类型实例。
谢谢!解决了 ! – oxsaulxo
@oxsaulxo请将答案标记为已接受。 –