使用索引列表实现 map 函数

鲍里斯·库洛娃

我只想为特定索引实现 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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章