Haskell - 打印元组的元素

时间:2014-08-02 20:13:52

标签: haskell printing map

我知道我可以在这样的元组列表中逐行打印元组:

Prelude> mapM_ print [(1, 1), (2, 4), (3, 9)]
(1,1)
(2,4)
(3,9)

但是假设我想将其输出到CSV文件,我想输出这个

Prelude> ??? [(1, 1), (2, 4), (3, 9)]
1,1
2,4
3,9

我该怎么做?

1 个答案:

答案 0 :(得分:7)

试试这个:

showTup :: (Show a, Show b) => (a,b) -> String
showTup (a,b) = (show a) ++ "," ++ (show b)

λ> mapM_ (putStrLn . showTup) [(1,1), (2,4), (3,9)]
1,1
2,4
3,9

由于Haskell非常棒,你可以编写一个将元组转换为字符串的函数,由于print只是(putStrLn . show),你可以用你自己的函数替换show