Haskell 偶函数?

标签 haskell

这可能是一个相当明显的问题,但我就是想不通。

我正在尝试编写一个对列表中的偶数进行平方的函数。当我尝试运行它时,我收到关于我使用 even 函数的错误。我怎样才能解决这个问题?

module SquareEvens where

squareEvens :: [Integer] -> [Integer]

squareEvens n = [ns * ns | ns <- n, even n]

最佳答案

如果您更改 even n,代码可以正常工作至 even ns :

squareEvens n = [ns * ns | ns <- n, even ns]

但请注意,惯例是使用复数来命名列表,使用单数来命名列表中的元素。所以交换nns遵循惯用的 Haskell 用法:
squareEvens ns = [n * n | n <- ns, even n]

关于Haskell 偶函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15629037/

相关文章:

haskell - 你能帮我理解这段代码是如何工作的吗我是haskell的新手

haskell - 非柯里化(Currying)函数

haskell - 为什么在 Haskell 中正确折叠时打印会影响顺序?

haskell - 为什么类型同义词中的类约束需要 RankNTypes

haskell - 使用封闭类型族编写函数 "if type A, then X, else type Y"

Haskell:为什么 Maybe 和 Either 类型用作 Monad 时表现不同?

list - Haskell - 为什么为列表实现替代方案

haskell - SPECIALIZE 编译用语的误解

haskell - 使用 eventsource 时检测客户端断开连接

haskell - Haskell 有什么大惊小怪的?