
20 Jul
2005
20 Jul
'05
12:25 p.m.
On Wednesday 20 July 2005 08:27, Sun Yi Ming wrote:
Hello, I have two txt file,and i want to mix the two files line by line, [...] import System.IO
mix :: [a] -> [a] -> [a] mix [] ys = ys mix xs [] = xs mix (x:xs) (y:ys) = [x,y] ++ mix xs ys
f1 = do contents1 <- readFile "url1.txt" contents2 <- readFile "url2.txt" let urls1 = lines contents1 urls2 = lines contents2 urls = mix urls1 urls2 writeFile "aha.txt" (unlines urls) -- this works fine, but i think if the two file are very big, and the readFile will consume too many mem.
No. Both files are read lazily (on demand). THis is how 'readFile' is specified. The program should work fine even with very large files. Try it. Ben