haskell - 在haskell中字符串到[Char]
问题描述
在 Haskell 中,我得到了这个字符串“bbbbffff”,我想得到一个这种形式的列表:
['b','b','b','b','f','f','f','f']
我认为我可以使用 map,但说实话,我不知道如何开始,并且在 Haskell 中有很多我不理解的东西。
提前致谢。
解决方案
默认情况下,aString
已经是 a [Char]
(参见规范):
字符串是字符列表:
type String = [Char]
它们根本不打印,['b','b','b',...]
因为[Char]
和String
是相同的类型,因此无法区分,必须以相同的方式显示。事实上,如果你输入你的列表,你会看到它被格式化为一个字符串:
Prelude> 42
42
Prelude> [1,2,3]
[1,2,3]
Prelude> ['b','b','b','b','f','f','f','f']
"bbbbffff"
这意味着您可以立即将其传递给任何列表函数,而无需对其进行任何操作:
myLength :: [Char] -> Int
myLength (c:rest) = 1 + myLength rest
myLength [] = 0
-- Prints 11
main = print (myLength "hello world")
还有其他文本数据类型,例如Data.Text
,但这些用于更高级的用途,必须显式启用和使用。
推荐阅读
- reactjs - React TinyMCE 编辑器动态设置 bbcode 内容
- powershell - 使用列表从路由表中的 DestinationPrefix 过滤私有 IP?
- kubernetes - 使用 go-template 返回正确的键值
- spring-boot - 包含的重定向 URI 无效
- npm - NPM 挂在安装包 'zos' 上
- spring-data - 使用spring数据mongo存储库时如何指定集合名称?
- php - 在自定义插件中提交表单导致页面重定向
- android - Firebase Ml 套件人脸识别不适用于 FirebaseVisionFaceDetectorOptions 对象,但在默认模式下工作正常
- javascript - 为什么计算函数会自动运行
- tomcat - 如何在使用 tomcat 服务器安装 Knowage 后修复“HTTP 状态 404 - /knowage/”错误(请求的资源不可用。)