Haskell,元组(双精度,字符串)

时间:2018-06-28 19:18:57

标签: haskell tuples

我需要一点帮助。

输入:(双精度,字符串)元组

输出:  -在新行中,字符串+“:” +“” +实数增加了15%,最后在新行“ Done”中

示例:

  

myPutStr [(210.0,“ Converse”),(315.0,“ Crocs”),(250.0,“ Lacoste”),(275.5,“ Under Armour”))]

输出:

匡威:241.0

鳄鱼:362.0

拉科斯特:287.0

装甲:316.825

完成

1 个答案:

答案 0 :(得分:-1)

您可以使用mapM_ / traverse_或翻转参数版本:forM_ / for_来实现它。我更喜欢for_,因为它看起来更像Java语言中的“增强的循环”。

import Data.Foldable (for_)

myPutStr :: [(Double,String)] -> IO ()
myPutStr vals = do
    for_ vals $ \(num, str) -> do
        putStr str
        putStr ": "
        print (num * 1.15) -- increase num by 15%
    putStrLn "Done"