Haskell:如何打印用逗号分隔的列表中的每个元素

lin*_*aon 1 haskell list

我正在尝试用逗号打印列表。我有类似的列表["1","2","3"],我想打印1,2,3 我该怎么做?

我试过:

printList xs = mapM_ (\(a) -> do
                      putStr a
                      putStr (",")) xs
Run Code Online (Sandbox Code Playgroud)

但我不知道如何删除最后一个逗号。

Ben*_*son 5

您可以使用intercalate. 它将在列表的每个元素之间插入逗号并连接结果字符串列表以将其转换为单个字符串。

import Data.List

toCommaSeparatedString :: [String] -> String
toCommaSeparatedString = intercalate ","

ghci> toCommaSeparatedString ["1","2","3"]
"1,2,3"
Run Code Online (Sandbox Code Playgroud)