Domanda

ragazzi G'day,

Cercando attualmente per finire un po 'di compiti a casa su cui sto lavorando, e avendo un problema in cui sto cercando di applicare mappa attraverso una funzione che accetta input multipli.

così nel caso sto usando processList f (x) =: XS mappa accelerateList f xs xs x

processList viene dato un valore fluttuante (f) e una lista che ordina in un altro elenco

Accelerate Elenco assume un valore fluttuante (f) un elenco e un oggetto List attraverso il quale restituisce un altro oggetto List

So che il mio Accelerate Lista codice è corretto, ma non posso per la vita di me ottenere la sintassi per questo codice di lavoro:

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

Tutte le idee? Ho graffiare la mia testa per circa 3 ore ormai. Lo so che è qualcosa di davvero semplice.

È stato utile?

Soluzione

Prima di voi probabilmente si desidera utilizzare alcuni parentesi:

map accelerateList f xs x xs

Il map funzione prende esattamente due argomenti (non cinque), così si dovrebbe fare qualcosa di simile, per esempio:

map (accelerateList f xs x) xs

Ma d'altra parte, che non si adatta con le firme di funzione. Il problema è probabilmente che non hai strutturato la soluzione in un modo abbastanza buono. Potrebbe essere una questione a sé stante, ma spiegando che cosa si sta cercando di realizzare con la funzione di accelerazione-(o che mai uno è quello "top") sarebbe certamente di aiuto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top