1
如何在列表上使用printf
? 我有一個數字列表,我想通過尊重格式打印它們(例如:%.3f
)。我試圖通過printf
使用地圖,但它不起作用。所以,我不知道。有人可以幫助我嗎?任何想法都可以接受。有沒有辦法從列表中創建一個關於自定義格式的字符串?在Haskell的列表中使用「printf」
如何在列表上使用printf
? 我有一個數字列表,我想通過尊重格式打印它們(例如:%.3f
)。我試圖通過printf
使用地圖,但它不起作用。所以,我不知道。有人可以幫助我嗎?任何想法都可以接受。有沒有辦法從列表中創建一個關於自定義格式的字符串?在Haskell的列表中使用「printf」
printf
可以產生字符串,而不是將它們打印到標準輸出。這個 是因爲它的結果類型過載(它也是機器 的一部分,使它成爲可變參數)。
import Text.Printf
main :: IO()
main = putStrLn . unwords $ printf "%.3f" <$> ([1..10] :: [Double])
這應該做的伎倆。
BTW,printf
不是類型安全的,可以在運行時的打擊。我建議你使用 類似 formatting
。
請問你可以添加你所嘗試的 - 因爲我確實會推薦使用'map',我不明白爲什麼它不應該工作 – Carsten
可能的重複:https://stackoverflow.com/questions/36658890/is-there -a-way-to-use-print-with-formats-of-printf-in-haskell – Carsten
「printf」的結果是多態的,不能在沒有上下文的情況下決定,嘗試添加更多的類型簽名。 – zakyggaps