【问题标题】:Multiply two lists element by element in Haskell在Haskell中将两个列表元素相乘
【发布时间】:2009-05-04 09:26:46
【问题描述】:

如何在 Haskell 中将两个列表的元素乘以二? 基本上,如果我有 [1,2,3] 和 [2,3,4] 我想得到 [2,6,12]。

【问题讨论】:

    标签: haskell list


    【解决方案1】:
    zipWith (*) [1,2,3] [2,3,4]
    

    查找zipWith 等函数的有用方法是Hoogle。在那里,您可以输入您要查找的函数的类型,它会尝试在标准库中查找匹配的函数。

    在这种情况下,您正在寻找一个函数来使用组合函数 (*) 将两个 Ints 列表组合成一个 Ints 列表,因此您的查询是:(Int -> Int -> Int) -> [Int] -> [Int] -> [Int]。如果您更改参数的顺序,Hoogle 甚至会找到正确的函数。

    【讨论】:

    • 更重要的是,在这种情况下(因为 zipWith 的实际类型是 (a -> b -> c) -> [a] -> [b] -> [c]),Hoogle 将使用任何泛型类型参数统一您的查询...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-21
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多