list - 使用 Map 应用具有多个输入的函数? ( haskell )

标签 list haskell dictionary ghc

大家好,

目前正在尝试完成我正在做的一些作业,并且遇到了一个问题,即我尝试在接受多个输入的函数中应用 map 。

所以在我使用 processList f (x:xs) = map AcceleratorList f xs x xs 的情况下

processList 被赋予一个浮点值 (f) 和一个列表,它将排序到另一个列表中

Accelerate List 接受一个浮点值 (f) 一个 List 和一个 List 对象,通过它返回另一个 List 对象

我知道我的加速列表代码是正确的,但我一生都无法获得此代码工作的语法:

processList :: Float -> [Object] -> [Object]
accelerate f [] = []
accelerate f [x] = [(accelerateForce f x x)]
accelerate f (x:xs) = map accelerateList f xs x xs

有什么想法吗?我已经挠头了大约3个小时了。我知道这非常很简单。

最佳答案

首先,您可能想在此处使用一些括号:

map accelerateList f xs x xs

函数 map 仅接受两个参数(而不是五个),因此您应该执行如下操作:

map (accelerateList f xs x) xs

但另一方面,这不符合您的函数签名。问题可能是您没有以足够好的方式构建解决方案。可能是一个单独的问题,但解释一下您想要通过加速功能完成什么(或者哪一个是“顶级”功能)肯定会有所帮助。

关于list - 使用 Map 应用具有多个输入的函数? ( haskell ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2843150/

相关文章:

string - 用于获取字符串中每个字符的 ASCII 码的 Tcl

python - 按照模式/序列分割一串数字

data-structures - 纯函数式编程语言中的双向链表

haskell - 如何从功能上计算未知大小列表的连续元素之间的差异?

Python:字典键值对 Pandas 值的平均值

c++ - 如何调用列表中对象的函数?

sorting - Haskell——使用不纯函数对列表进行排序

c++ - 如何为包含映射的结构编写比较运算符?

c++ - std::cout for map<string, int>

python - 在列表中查找特定的子列表