此问题在此处已有答案:
Haskell, 2 list to list of tuples pointwise(3个答案)
5天前关闭。
我是Haskell的新手,我想知道当涉及到高阶类时,我如何能够跟踪索引我试图构建一个函数,它接受[a]列表和一个函数(a-〉Int-〉b),本质上是f(ai,i)并返回list [b]。
我想做的事情是:
higherOrd :: [a]->(a->Int->b)->[b]
higherOrd t f = [f x y | x <- t, y <- [1..length(t)]]
例如,如果我做higherOrd (1,2..10) (+)
,我得到:
[2,3,4,5,6,7,8,9,10,11,3,4,5,6,7,8,9,10,11,12,4,5,6,7,8,9,10,11,12,13,5,6,7,8,9,10,11,12,13,14,6,7,8,9,10,11,12,13,14,15,7,8,9,10,11,12,13,14,15,16,8,9,10,11,12,13,14,15,16,17,9,10,11,12,13,14,15,16,17,18,10,11,12,13,14,15,16,17,18,19,11,12,13,14,15,16,17,18,19,20]
当我想要得到[2,4,6,8,10,12,14,16,18,20]
时
1条答案
按热度按时间6rvt4ljy1#
使用
zip
:然后,这将同时枚举两个列表。或者我们使用Haskell已经提供的函数:
zipWith
: