【问题标题】:Square of list in HaskellHaskell中的列表平方
【发布时间】:2016-11-07 17:37:42
【问题描述】:

我在 Haskell 中创建函数来获取列表的平方。这是我的代码

sqrall :: [Int] -> [Int]
sqrall [] = []
sqrall [x] =  map (^2) x

但该代码不起作用。我不知道我在哪里失踪..请帮助我..

【问题讨论】:

  • 请注意,这里不需要空列表基本情况,因为map 可以很好地处理空列表,并且按照您的想法。参照。 pdoherty926 的回答。

标签: list function haskell


【解决方案1】:

您需要从函数定义左侧的非空列表模式中删除方括号。

以下将起作用:

sqrall x = map (^2) x
sqrall [1,2,3] -- [1,4,9]

【讨论】:

  • 我们可以 eta-reduce 到 sqrall = map (^2)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-22
  • 1970-01-01
  • 2013-04-09
  • 2021-08-06
  • 1970-01-01
  • 2011-03-19
  • 1970-01-01
相关资源
最近更新 更多