string - 当需要快速 (O(1)) 索引时,哪种 Haskell 字符串类型用于 Unicode 数据?
问题描述
在阅读了String, Text, Text.Lazy, ByteString, ByteString.Lazy
Haskell 中所有 5 ( ) 种常用字符串类型之后,我不知所措:
我需要的是一个不可变的字符串类型(我从文件中读取一次并且从不更改它),具有快速索引(O(1))并且可以由代码点使用,而不是由可能不完整的字节使用,形成一个代码点。
实际上,我可以接受 a Data.ByteString.UTF32
,就像那个表示一样,我再也不需要小心多字节编码了。
我是否必须为自己编写这样一个模块,或者——无论如何——其他人是否得出了同样的结论并且已经这样做了?
解决方案
这听起来就像一个数组Char
: Data.Vector.Unbox.Vector Char
。
https://hackage.haskell.org/package/vector-0.12.0.3/docs/Data-Vector-Unboxed.html
推荐阅读
- r - R - 如何计算多个小时间间隔与大时间间隔的比率
- go - 删除 VS Code 中显示字段对齐的警告
- heroku - Heroku Connect - 未找到连接
- reactjs - reactjs - 根据复选框点击填充文本区域
- elasticsearch - 使用现有证书的 Elasticsearch SSL 配置
- python - 如何为 bulk_create 缓存单个 Django REST API POST?
- .net - 大众运输慢
- python - Airflow 如何使用 Oracle Hook 执行查询
- android - 如何在 Android Studio 中重新启用堆叠工具窗口?
- coinbase-api - XRP Coinbase 汇率