gpt4 book ai didi

string - Haskell 中的高效字符串实现

转载 作者:行者123 更新时间:2023-12-03 11:04:00 24 4
gpt4 key购买 nike

我目前正在自学 Haskell,我想知道在 Haskell 中使用字符串时的最佳实践是什么。

Haskell 中的默认字符串实现是一个 Char 列表。根据 Real World Haskell,这对于文件输入输出效率低下。 ,因为每个字符都是单独分配的(我假设这意味着字符串基本上是 Haskell 中的链表,但我不确定。)

但是,如果默认的字符串实现对于文件 i/o 效率低下,那么在内存中使用字符串是否也效率低下?为什么或者为什么不? C 使用一个 char 数组来表示一个字符串,我认为这将是大多数语言的默认处理方式。

如我所见,String 的列表实现将占用更多内存,因为每个字符都需要开销,并且迭代的时间也更多,因为需要指针取消引用才能到达下一个字符。但到目前为止,我一直喜欢使用 Haskell,所以我想相信默认实现是有效的。

最佳答案

除了 String/ByteString 现在还有 Text结合了两全其美的库——它与 Unicode 一起工作,同时在内部基于 ByteString,因此您可以获得快速、正确的字符串。

关于string - Haskell 中的高效字符串实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/576213/

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