【问题标题】:Number of times that a word appears in a list of words haskell单词出现在单词列表中的次数 haskell
【发布时间】:2014-07-25 15:08:53
【问题描述】:

我刚开始在 Haskell 中编程,我想创建一个函数,接收一个单词列表和一个字母列表,然后将其变成一个字母矩阵,就像单词搜索谜题一样,并返回该单词列表中的哪些单词出现在矩阵中以及出现的次数,以元组的形式返回这些信息。

我已经有了单词搜索的功能,我只是找不到写一个的方法 发生的次数。

我将不胜感激 :)

谢谢!

【问题讨论】:

    标签: list haskell matrix tuples


    【解决方案1】:

    这是一个你可以使用的函数:

    find :: (Eq a, Enum e) => a -> [a] -> e
    find _ []     = toEnum 0
    find y (x:xs) = (if y == x then succ else id) $ find y xs
    

    【讨论】:

    • find 3 [1,2,3] 抛出错误:“使用find 导致(Enum e0)没有实例。类型变量e0 不明确”
    • @ThreeFx 你给它一个特定的返回类型了吗?该函数对我来说很好用,但我必须给它一个明确的返回类型,如 find 3 [1, 2, 3] :: Int,以便编译器知道要使用哪个 Enum 实例。
    • @bheklilr 大声笑我完全忘记了这一点:D 一切正常。但是为什么不find :: Eq a => a -> [a] -> Int呢?
    • @PyRulez 完美!谢谢!
    • @ThreeFix 专业化为Int 将受到限制。如果你想使用惰性 peano 数字怎么办?还是无限Integer?或者你打算在浮点数计算中使用它?
    猜你喜欢
    • 2018-01-14
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 2012-02-03
    • 2021-02-05
    • 2011-08-04
    相关资源
    最近更新 更多