하스켈에서 일하면서 나는 큰 파일 목록을 이진 파일에 쓰려고합니다.Haskell을 사용하여 [Bool]을 이진 파일에 작성
Word8 (8 비트 단어)을 파일에 쓸 수는 있지만 8 개의 Bool 목록을 Word8로 변환하는 방법을 알 수 없습니다.
toByte :: [Bool] -> Word8
toByte list = toByteh list 0 0
toByteh :: [Bool] -> Int -> Word8 -> Word8
toByteh list 8 _ = 0
toByteh list i result
| head list == True = toByteh (tail list) (i + 1) (result .|. (2^i :: Word8))
| otherwise = toByte_h (tail list) (i + 1) result
난 그냥 0 바이트를 받기를 사용하는 경우 :
는 여기에 지금까지 무슨이다. 아무도 이것이 작동하지 않는 곳을 볼 수 있습니까? 아니면 더 나은 방법이 있습니까?
cool! 그것은 여러 가지 방식으로 사물을 보는 데 도움이됩니다. –