関数型プログラミング言語Haskell Part17
■ このスレッドは過去ログ倉庫に格納されています
0359デフォルトの名無しさん
2012/01/24(火) 21:09:07.58tailFile n h = do
seekable <- hIsSeekable h
if seekable
then do
sz <- hFileSize h
hSeek h AbsoluteSeek $ max 0 (sz - n)
hGetContents h
else do
takeLast n <$> hGetContents h
takeLast n xs = diff xs (genericDrop n xs) where
diff xs [] = xs
diff (_:xs) (_:ys) = diff xs ys
■ このスレッドは過去ログ倉庫に格納されています