String 用于查找字母编号的Haskell函数
Haskell是否有一个函数可以让您查找单词的特定元素的编号,即[char],因此“FROG”中“F”的元素编号为0。另外,如果单词的字母出现不止一次,那么这个函数能否返回字母位置列表,即“TEETER”中的“e”将是[1,2,4]?您要查找的两个函数位于String 用于查找字母编号的Haskell函数,string,list,haskell,String,List,Haskell,Haskell是否有一个函数可以让您查找单词的特定元素的编号,即[char],因此“FROG”中“F”的元素编号为0。另外,如果单词的字母出现不止一次,那么这个函数能否返回字母位置列表,即“TEETER”中的“e”将是[1,2,4]?您要查找的两个函数位于数据中。list,它们是elemIndex和elemIndices elemIndices :: Eq a => a -> [a] -> [Int] elemIndex :: Eq a => a -> [a] -&
数据中。list
,它们是elemIndex
和elemIndices
elemIndices :: Eq a => a -> [a] -> [Int]
elemIndex :: Eq a => a -> [a] -> Maybe Int
λ> elemIndex 'F' "FROG"
Just 0
λ> elemIndices 'E' "TEETER"
[1,2,4]
当寻找类似的东西时,写下你想要的类型,然后(如果可能的话)概括它通常是很有帮助的。您通常可以通过这种方式在标准库中找到内容。您要查找的两个函数位于
数据中。列出,它们是elemIndex
和elemIndices
elemIndices :: Eq a => a -> [a] -> [Int]
elemIndex :: Eq a => a -> [a] -> Maybe Int
λ> elemIndex 'F' "FROG"
Just 0
λ> elemIndices 'E' "TEETER"
[1,2,4]
当寻找类似的东西时,写下你想要的类型,然后(如果可能的话)概括它通常是很有帮助的。您通常可以通过这种方式在标准库中找到内容。将其输入hoogle
[a]->a->Int
看到这个了吗
elemIndex :: Eq a => a -> [a] -> Maybe Int
编辑-
我错过了你问题的第二部分。。。。但是一个有趣的hoogle搜索也适用于此。将此输入hoogle
[a]->a->Int
看到这个了吗
elemIndex :: Eq a => a -> [a] -> Maybe Int
编辑-
我错过了你问题的第二部分。。。。但是,一个分析性的hoogle搜索也可以解决这个问题。值得注意的是,这两个函数甚至可以粗略(不正确)猜测类型。@ThomasM.DuBuisson非常好,尽管有趣的是它将throwernopath
置于其他两个函数之上。值得注意的是,这两个函数甚至是粗略(不正确)猜测类型的最佳方法。@ThomasM.DuBuisson非常好,尽管有趣的是它将throwernopath
置于其他两个函数之上。