Haskell函数用于查找字母编号

时间:2013-12-17 18:19:14

标签: string list haskell

Haskell是否有一个函数可以让你找到一个单词的特定元素的数量,即[char],所以“FROG”中的'F'的元素号是0.还有,那个字母出现的字数更多不止一次,这个函数能否返回一个字母位置列表,即“TEETER”中的“E”将是[1,2,4]?

2 个答案:

答案 0 :(得分:6)

您要查找的两个功能位于Data.List,它们是elemIndexelemIndices

elemIndices :: Eq a => a -> [a] -> [Int]
elemIndex :: Eq a => a -> [a] -> Maybe Int


λ> elemIndex 'F' "FROG"
Just 0
λ> elemIndices 'E' "TEETER"
[1,2,4]

在寻找这样的东西时,记下你想要的类型通常是有帮助的,然后(如果可能的话)概括它。您经常可以通过这种方式在标准库中查找内容。

答案 1 :(得分:1)

将其输入到hoogle

[a]->a->Int

并看到这个

elemIndex :: Eq a => a -> [a] -> Maybe Int

编辑 -

我错过了你问题的第二部分......但是一个类似的hoogle搜索也适用于此。