0
我正在尝试做Haskell版本的2^n整数列表。 numsFrom生成无限序列,我想将此序列映射到数字2,但我有一条错误消息:Haskell 2^n函数式编程
可能的原因:'map'应用于太多参数。
numsFrom :: Int -> [Int]
numsFrom n = n : numsFrom (n+1)
powerOf2 :: Int -> [Int]
powerOf2 = map(^numsFrom 1) 2
'迭代(* 2)1' –
注意'map(2 ^)[1 ..] == [2,4,8,16,...]'和'iterate(* 2)1 == [1,2,4,8,16, ...]略有不同。 'map'版本可以通过映射'[0 ..]'来代替'2^0';迭代版本可以通过从2开始而不是从1开始排除它。 – chepner