関数型プログラミング言語Haskell Part17
■ このスレッドは過去ログ倉庫に格納されています
0374デフォルトの名無しさん
2012/01/25(水) 21:58:39.36main = do
h <- openFile "test.log" ReadMode
hGetLinesTail h 10 0 >>= putStrLn
hClose h
blockSize = 128
hGetLinesTail h l pos = do
xs <- hGetContentsSeekFromEnd h pos
if l > (length$lines xs) then hGetLinesTail h l (pos + blockSize)
else return xs
hGetContentsSeekFromEnd h pos = do
hSeek h SeekFromEnd (-pos)
replicateM (fromInteger pos) (hGetChar h)
■ このスレッドは過去ログ倉庫に格納されています