Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 要列出的Haskell字符串_List_Haskell - Fatal编程技术网

List 要列出的Haskell字符串

List 要列出的Haskell字符串,list,haskell,List,Haskell,可能重复: 我有一个字符串12345。如何以列表形式显示它,如[1,2,3,4,5]?还有,如果我有一个字符串,比如##%%?我无法将其转换为Int。如何以[#、#、%、%]的形式查看它?尝试使用长度1你看过这个答案了吗? import Data.Char (digitToInt) map digitToInt "12345" 字符串毕竟只是Haskell中的字符列表。:) 您应该将函数read x::Int作为字符列表映射到字符串的每个元素: map (\x -> read [x

可能重复:


我有一个字符串
12345
。如何以列表形式显示它,如
[1,2,3,4,5]
?还有,如果我有一个字符串,比如
##%%
?我无法将其转换为
Int
。如何以
[#、#、%、%]
的形式查看它?

尝试使用长度1

你看过这个答案了吗?
import Data.Char (digitToInt)

map digitToInt "12345"


字符串毕竟只是Haskell中的字符列表。:)

您应该将函数read x::Int作为字符列表映射到字符串的每个元素:

map (\x -> read [x]::Int) "1234"
如果您有非数字字符,则应首先按如下方式对其进行过滤:

import Data.Char
map (\x -> read [x]::Int) (filter (\x -> isDigit x) "1234##56")
这导致:

[1,2,3,4,5,6]
使用


这是可行的,但是如果我有一个像“##%%”这样的字符串怎么办?这计算字符串是由数字组成的。如果要筛选非数字的字符,应使用筛选器。我将编辑答案。我也更改了我的问题。事实上,我不想分裂非数字种族。我想以列表形式查看它们。我检查了它,但当我尝试转换像“&%”这样的字符串时,它会给出解析错误。这些不是重复的。一个是将字符串转换为列表,另一个是将字符串列表转换为列表。在Haskell中,“12345”实际上是['1','2','3','4','5']。这就是你想要的还是[“1”、“2”、“3”、“4”、“5”]?
myShow :: String -> String
myShow s = concat ["[", intersperse ',' s, "]"]