我只想为特定索引实现 map 功能,如下所示:
mapFor :: (a -> a) -> [Int] -> [a] -> [a]
一个例子看起来像这样。
mapFor (+10) [0,2] [1,2,3,4] == [11,2,13,4]
感谢@cornuz,我想通了。
mapFor f is xs = [if (i `elem` is) then f v else v | (i,v) <- zip [0..] xs]
如果您发现任何问题,请告诉我,以便我可以修复它们。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句