【问题标题】:Using map with a function将地图与函数一起使用
【发布时间】:2015-06-29 23:03:20
【问题描述】:

我有两个函数

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

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

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

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

【问题讨论】:

  • 这个问题我不清楚:1.你说你有两个函数accelerateaccelerateParticle。您是否已经实现了这两个功能,或者您想要实现这些功能? 2. 你说你想将accelerateParticle 函数应用于[Particle] 中的每个元素。 在哪里你想这样做?您是在尝试实现第三个功能,还是尝试使用另一个功能来实现这两个功能之一? 3、什么是“accelerate最初给出的[particle]”?这是accelerate返回的列表吗?

标签: list function haskell dictionary


【解决方案1】:

您可能正在寻找这个:

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

请注意,所有粒子列表ps 既用于map,也用作accelerateParticle 的参数。

【讨论】:

    猜你喜欢
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    • 2020-01-31
    • 2011-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    相关资源
    最近更新 更多