使用带有功能的地图

Ori*_*gal 3 dictionary haskell function list

我有2个功能

accelerate :: Float -> [Particle] -> [Particle]
accelerateParticle :: Float -> Particle -> [Particle] -> Particle
Run Code Online (Sandbox Code Playgroud)

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

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

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

chi*_*chi 6

你可能正在寻找这个:

accelerate :: Float -> [Particle] -> [Particle]
accelerate x ps = map (\p -> accelerateParticle x p ps) ps
Run Code Online (Sandbox Code Playgroud)

请注意,所有粒子的列表都ps用于map它上面,并作为参数使用accelerateParticle.