gpt4 book ai didi

haskell - 在 Haskell 中从文件读取到数组

转载 作者:行者123 更新时间:2023-12-04 05:08:13 24 4
gpt4 key购买 nike

我的驱动器上有一个基于 trie 的字典,它被编码为位压缩的 4 字节 trie 节点的连续数组。在 Python 中,我会通过以下方式将其读入实际的 4 字节整数数组:

import array
trie = array.array('I')
try:
trie.fromfile(open("trie.dat", "rb"), some_limit)
except EOFError:
pass

我如何在 Haskell 中做同样的事情(从文件读取到数组或向量)?我能想到的最好方法是像往常一样读取文件,然后将字节分成四个块,并在算术上将它们组合在一起,但这非常丑陋,并且还引入了对字节序的依赖。

最佳答案

encoded as a contiguous array of bit-packed 4-byte trie nodes



我认为这里的“编码”是某种 Python 格式?你说“原始 C 风格的数组”?

要将这个二进制文件(或任何其他格式)的数据加载到 Haskell 中,您可以使用 Data.Binary图书馆,并提供 an instance of Binary为您的自定义格式。

对于许多现有的数据交换格式,Hackage 上有库,但是您需要指定格式。例如图像数据,有 repa-devil .

对于真正的原始数据,您可以 mmap it to a bytestring ,然后将其进一步处理为数据结构。

关于haskell - 在 Haskell 中从文件读取到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15232094/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com