2017-04-02 1 views
2

파일을 열고 첫 번째 줄을 건너 뛰고 싶습니다. 이것은 제가 생각해 낸 것입니다 :라인을 건너 뛰는 동안 파일을 여는 더 좋은 방법이 있습니까?

h :: IO Handle 
h = do h' <- openFile "foo.dat" ReadMode 
     _ <- hGetLine h' 
     return h' 

더 좋은 방법이 있습니까?

+2

더 나은지는 잘 모르겠지만 다른 대안이 필요하지 않다고 가정하면됩니다. lines <$> readFile "foo.dat"' – Erik

+0

사양에 맞지 않습니다. 나는 전체 파일을 여기에서 읽고 싶지 않다. 두 번째 줄을 가리키는 핸들을 갖고 싶습니다. 나머지 파일을 읽는 것은 완전히 다른 문제입니다. –

+0

@MichaelLitchard 물론,'ReadMode'에서 여러분이 할 수있는 것은 정말로, _read는 file_입니다. 그리고 실제로는'readFile'을 사용하여 파일을 문자열로 읽고 IO로 처리하는 것이 가장 좋습니다. 평범한 문자열 데이터를 다루는 것은 부작용에 대해 걱정할 필요가없는 것보다 훨씬 더 멋지다. - 프로그램이 정지하고 전체 파일 내용이 처리 될 때까지 기다리지 않아도됩니다. 즉, 실제로 필요한 라인 만 게으른 것입니다. 이것은 또한 약간의 불쾌한 놀라움을 유발할 수있다. 그것을 모두 엄격하게 읽는 것이 더 안전합니다. – leftaroundabout

답변

관련 문제