Frage

G'day Jungs,

Der Versuch, noch ein wenig Hausaufgabe zu beenden ich arbeite, und mit einem Problem, wo ich versuche Karte über eine Funktion anzuwenden, die mehrere Eingänge akzeptiert.

so im Fall verwende ich PROCESS f (x: xs) = map accelerateList f xs x xs

PROCESS ist einen schwebenden Wert (f) und eine Liste gegeben, dass es in einer anderen Liste sortiert

Liste Beschleunigen nimmt einen Float-Wert (f) eine Liste und ein List-Objekt, durch die es eine andere Liste Objekt zurück

Ich weiß, dass meine Accelerate Liste Code korrekt ist, aber ich kann nicht für das Leben von mir die Syntax erhalten für diesen Code arbeiten:

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

Irgendwelche Ideen? Ich habe ca. 3 Stunden mein Kopf wurde Kratzen für jetzt. Ich weiß, es ist etwas, wirklich einfach.

War es hilfreich?

Lösung

Als erstes werden Sie wollen wahrscheinlich einige Klammer verwenden hier:

map accelerateList f xs x xs

Die Funktion map nimmt genau zwei Argumente (nicht fünf), so dass Sie so etwas wie dies zum Beispiel tun sollen:

map (accelerateList f xs x) xs

Aber auf der anderen Seite, dass paßt nicht mit Ihrer Funktion Unterschriften. Das Problem ist wahrscheinlich, dass Sie Ihre Lösung in eine gut genug Weise strukturiert haben. Könnte eine andere Frage, aber zu erklären, was Sie mit der Beschleunigung-Funktion (oder die je eine ist die „top“ ein) würde sicherlich dazu beitragen, erreichen wollen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top