【问题标题】:Haskell function for finding letter number用于查找字母编号的 Haskell 函数
【发布时间】:2014-01-05 15:57:25
【问题描述】:

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

【问题讨论】:

    标签: string list haskell


    【解决方案1】:

    您要查找的两个函数在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]
    

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

    【讨论】:

    • 值得注意的是,这两个函数是second and third results on hoogle,即使是对类型的粗略(不正确)猜测。
    • @ThomasM.DuBuisson 相当不错,虽然有趣的是它优先于其他两个 throwErrnoPath
    【解决方案2】:

    把这个输入hoogle

    [a]->a->Int
    

    看看这个

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

    编辑-

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-16
      • 2012-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多