2010-08-09 49 views
6

¿Cómo podría escribir una función con una definición algo así como ...lectura en un archivo binario en Haskell

readBinaryFile :: Filename -> IO Data.ByteString 

Tengo las partes funcionales de Haskell hacia abajo, pero el sistema de tipos y aún así obtener mónadas me duele la cabeza. ¿Alguien puede escribir y explicar cómo funciona esa función para mí?

Respuesta

9
import Data.ByteString.Lazy 
readFile fp 

easy as pie man. Elimina a los perezosos si no quieres que la cuerda sea floja.

import Data.ByteString.Lazy as BS 
import Data.Word 
import Data.Bits 

fileToWordList :: String -> IO [Word8] 
fileToWordList fp = do 
    contents <- BS.readFile fp 
    return $ unpack contents 
+1

http://haskell.org/hoogle/?hoogle=readfile –

+1

¡Muchas gracias! Me gusta lo simple que es leer haskell. –

3

readBinaryFile :: Nombre del archivo -> IO Data.ByteString

Esto es simplemente la función Data.ByteString.readFile, que nunca se debe tiene que escribir, ya que es en el paquete bytestring.

+0

, pero ¿cómo se implementa este archivo de lectura? – osager

Cuestiones relacionadas