La aplicación de una función con múltiples entradas utilizando Map? (Haskell)
Pregunta
chicos día G,
Actualmente Tratando de terminar un poco de tarea que estoy trabajando, y que tiene un problema en el que estoy tratando de aplicar Mapa través de una función que acepta múltiples entradas.
así en el caso estoy usando PROCESSLIST f (x: xs) = mapa accelerateList f xs x xs
PROCESSLIST se le da un valor flotante (f) y una lista que se ordena a otra lista ??p>
Acelerar Lista toma un valor flotante (f) una lista y un objeto de lista a través del cual se devuelve otra lista de objetos
Sé que mi Acelerar Lista de código es correcto, pero no puedo por la vida de conseguirme la sintaxis para el código de trabajo:
processList :: Float -> [Object] -> [Object]
accelerate f [] = []
accelerate f [x] = [(accelerateForce f x x)]
accelerate f (x:xs) = map accelerateList f xs x xs
Algunas ideas? He estado rascando la cabeza durante aproximadamente 3 horas ahora. Sé que es algo realmente simple.
Solución
En primer lugar, es probable que desee utilizar algún paréntesis aquí:
map accelerateList f xs x xs
El map
función toma exactamente dos argumentos (no cinco), por lo que debe hacer algo como esto, por ejemplo:
map (accelerateList f xs x) xs
Pero, por otra parte, que no encaja con sus firmas de función. El problema es, probablemente, que no ha estructurado su solución de una manera lo suficientemente bueno. Podría ser una cuestión distinta, pero que explica lo que está tratando de lograr con la función de aceleración-(o lo que jamás uno es el "top") sin duda ayuda.