我有2个功能
accelerate :: Float -> [Particle] -> [Particle]
accelerateParticle :: Float -> Particle -> [Particle] -> Particle
我想实现的是为
[Particle]
中的每个元素应用accelerateParticle
函数。我遇到的麻烦是accelerateParticle
函数依赖于使用最初由Accelerator给出的原始[particle]
。我在想像这样使用地图map (\particle -> accelerateParticle Float particle [Particle]) [Particle]
但我不太确定这是正确的格式。
最佳答案
您可能正在寻找:
accelerate :: Float -> [Particle] -> [Particle]
accelerate x ps = map (\p -> accelerateParticle x p ps) ps
请注意,所有粒子
ps
的列表既可以用于map
,也可以用作accelerateParticle
的参数。