如何在列表中使用具有printf "%d %d\n"
等特定格式的printf?
例如,printf "%d %d %d\n", [1, 2, 3]
我的想法是根据我想要使用单独函数打印的列表创建一个字符串,并将其解析为printf
。问题是我无法让printf将列表元素视为单独的参数。我错过了什么?
答案 0 :(得分:2)
您将任务拆分为几个较小的任务。您编写处理单个Double
的函数:
show2Decimals :: Double -> String
show2Decimals x = printf "%+.2f" x
之后,您可以使用标准功能映射列表中的所有数字,并将生成的字符串拼接在一起:
showDoubleList :: [Double] -> String
showDoubleList xs = unlines (map show2Decimals xs)