String Haskell,从整数集中生成单个字符串?
如果您能告诉我如何在两个整数之间生成一个字符串,我将不胜感激。比如[5..10]我需要一个“5678910”。然后我必须计算一个字符串中有多少(零,一…九) 例如:如果我有[1..10]的范围,我需要打印出来 1 2 11 11 现在我只有一个函数来搜索字符串中的元素String Haskell,从整数集中生成单个字符串?,string,haskell,count,int,range,String,Haskell,Count,Int,Range,如果您能告诉我如何在两个整数之间生成一个字符串,我将不胜感激。比如[5..10]我需要一个“5678910”。然后我必须计算一个字符串中有多少(零,一…九) 例如:如果我有[1..10]的范围,我需要打印出来 1 2 11 11 现在我只有一个函数来搜索字符串中的元素 `countOfElem elem list = length $ filter (\x -> x == elem) list` 但是如何构造这样一个字符串的部分让我感到困惑,或者也许有一个更简单的方法?多谢各位 我试过这
`countOfElem elem list = length $ filter (\x -> x == elem) list`
但是如何构造这样一个字符串的部分让我感到困惑,或者也许有一个更简单的方法?多谢各位
我试过这样的方法,但没用。
let intList=map(read::Int->String)[15..22]
我试过这样的方法,但没用let intList=map(read::Int->String)[15..22]
嗯。。。read
的目的是将字符串解析为可读取的值。因此,它有一个类型签名String->a
,显然与Int->String
不统一。这里需要的是read
的逆1,它被称为show
事实上,map show[15..22]
几乎给出了您要求的结果–数字作为十进制编码字符串–但每个数字仍然作为一个单独的列表元素,即键入[String]
,而您只需要字符串
。嗯,怎么样?它提供了第五次点击时所需的功能:concat
如果您想获得更多乐趣,可以将map
和concat
阶段结合起来:concatMap
函数和>=
操作符都可以这样做。实现结果的最简洁的方法:[15..22]>=show
准确地说,1
show
只是read
的右倒数。也许你可以使用和show
某种方式。。。(你的想法过去是/现在不远了-只是阅读
是另一种方式-更好地使用显示
和地图
本身不会让你快乐-但这是一个好的开始)我会尝试的,谢谢。