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

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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top