星期六, 2月 02, 2013

Calculate the raw sum

上個禮拜看到自己以前寫的 blog 小試牛刀 - 算出檔案每一列的總和,我覺得其實沒有這麼難寫成 Haskell 的版本,T55555 在留言中有提供一個 Haskell one liner version,我在今天早上自己練習寫了一個,沒有 one liner,只是單純做個記錄。

import System.IO

rawSum :: [[Integer]] -> [Integer]
rawSum = foldr1 (zipWith (+))

readContents :: [Char] -> [[Integer]]
readContents s = map (map read) $ map words $ lines s

main = do
    s <- readFile "num_matrix.txt"
    print $ rawSum . readContents $ s