在haskell中读取二进制文件

发布于 2024-09-13 14:36:22 字数 179 浏览 5 评论 0原文

我怎样才能编写一个具有类似定义的函数...

readBinaryFile :: Filename -> IO Data.ByteString

我已经掌握了 Haskell 的功能部分,但类型系统和 monad 仍然让我头疼。有人可以写下并解释一下该功能如何对我起作用吗?

How could I write a function with a definition something like...

readBinaryFile :: Filename -> IO Data.ByteString

I've got the functional parts of Haskell down, but the type system and monads still make my head hurt. Can someone write and explain how that function works to me?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

究竟谁懂我的在乎 2024-09-20 14:36:22
import Data.ByteString.Lazy
readFile fp

像馅饼人一样容易。如果您不希望字符串变得懒惰,请关闭懒惰。

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
import Data.ByteString.Lazy
readFile fp

easy as pie man. Knock off the lazy if you don't want the string to be lazy.

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
东走西顾 2024-09-20 14:36:22

readBinaryFile :: 文件名 -> IO 数据.ByteString

这只是 Data.ByteString.readFile 函数,您永远不必编写该函数,因为它位于 bytestring 中包裹。

readBinaryFile :: Filename -> IO Data.ByteString

This is simply the Data.ByteString.readFile function, which you should never have to write, since it is in the bytestring package.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文