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請將答案標記爲已接受。 –