Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.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
String 用于查找字母编号的Haskell函数_String_List_Haskell - Fatal编程技术网

String 用于查找字母编号的Haskell函数

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] -&

Haskell是否有一个函数可以让您查找单词的特定元素的编号,即[char],因此“FROG”中“F”的元素编号为0。另外,如果单词的字母出现不止一次,那么这个函数能否返回字母位置列表,即“TEETER”中的“e”将是[1,2,4]?

您要查找的两个函数位于
数据中。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
置于其他两个函数之上。