show :: Show a => a -> Text
show = pack . Prelude.show在这个blog中,我看到show被覆盖了。在Prelude之上,pack方法提供了什么。作者已经提出,这是针对Text而不是Strings的。
大多数其他语言都使用String和Buffer作为数据结构。但是在haskell中Text是什么呢?
发布于 2015-04-30 11:28:30
该类型来自Data.Text模块中的text包。对于Unicode文本,它是一种比String更高效、更符合规范的结构,因为String只是一个[Char]。列表是很好的数据结构,但不是最有效的文本操作结构。在Data.ByteString模块和子模块中,Haskell还有来自bytestring包的ByteString类型,它代表了有效的缓冲区。
发布于 2015-04-30 19:49:22
Haskell的默认String类型是灵活的,但效率很低。Text更像是其他编程语言所拥有的--一个字符数组,而不是它们的链表。
这两种类型都不太像其他语言中的字符串缓冲区或字符串构建器。
https://stackoverflow.com/questions/29958140
复制相似问题