使用带有函数

时间:2015-04-22 10:41:58

标签: list function haskell dictionary

我有2个功能

accelerate :: Float -> [Particle] -> [Particle]
accelerateParticle :: Float -> Particle -> [Particle] -> Particle

我想要实现的是[Particle]中的每个元素都应用accelerateParticle函数。我遇到的麻烦是accelerateParticle函数依赖于使用加速初始给出的原始[particle]。我在考虑使用像这样的地图

map (\particle -> accelerateParticle Float particle [Particle]) [Particle]

但我不太确定这是否是正确的格式。

1 个答案:

答案 0 :(得分:6)

您可能正在寻找:

accelerate :: Float -> [Particle] -> [Particle]
accelerate x ps = map (\p -> accelerateParticle x p ps) ps

请注意,所有粒子ps的列表都用于map,而accelerateParticle的参数。