2
파일을 열고 첫 번째 줄을 건너 뛰고 싶습니다. 이것은 제가 생각해 낸 것입니다 :라인을 건너 뛰는 동안 파일을 여는 더 좋은 방법이 있습니까?
h :: IO Handle
h = do h' <- openFile "foo.dat" ReadMode
_ <- hGetLine h'
return h'
더 좋은 방법이 있습니까?
파일을 열고 첫 번째 줄을 건너 뛰고 싶습니다. 이것은 제가 생각해 낸 것입니다 :라인을 건너 뛰는 동안 파일을 여는 더 좋은 방법이 있습니까?
h :: IO Handle
h = do h' <- openFile "foo.dat" ReadMode
_ <- hGetLine h'
return h'
더 좋은 방법이 있습니까?
hSeek
이라는 기능이 있습니다.
http://hackage.haskell.org/package/base-4.9.1.0/docs/System-IO.html#v:hSeek
가 그 GHCi를 사용과 실험을 가지고, 내가 권하고 싶습니다.
더 나은지는 잘 모르겠지만 다른 대안이 필요하지 않다고 가정하면됩니다. lines <$> readFile "foo.dat"' – Erik
사양에 맞지 않습니다. 나는 전체 파일을 여기에서 읽고 싶지 않다. 두 번째 줄을 가리키는 핸들을 갖고 싶습니다. 나머지 파일을 읽는 것은 완전히 다른 문제입니다. –
@MichaelLitchard 물론,'ReadMode'에서 여러분이 할 수있는 것은 정말로, _read는 file_입니다. 그리고 실제로는'readFile'을 사용하여 파일을 문자열로 읽고 IO로 처리하는 것이 가장 좋습니다. 평범한 문자열 데이터를 다루는 것은 부작용에 대해 걱정할 필요가없는 것보다 훨씬 더 멋지다. - 프로그램이 정지하고 전체 파일 내용이 처리 될 때까지 기다리지 않아도됩니다. 즉, 실제로 필요한 라인 만 게으른 것입니다. 이것은 또한 약간의 불쾌한 놀라움을 유발할 수있다. 그것을 모두 엄격하게 읽는 것이 더 안전합니다. – leftaroundabout