Ein Programm, das ich in Haskell schreibe hat eine Liste Instanz meines definierten Typ:Aktualisierung Tupelelemente einer Liste in Haskell
type Locals = [(String, Float)]
Ich versuche, diese Liste zu aktualisieren, indem Sie einen String zu empfangen und den entsprechenden Schwimmer Aktualisierung Wert, aber der String ist möglicherweise nicht in der Liste enthalten.
Da Haskell-Listen unveränderlich sind, habe ich beschlossen, der einfachste Weg, dies (in Pseudo-Code) zu tun war:
if a tuple containing the string exists:
delete it
add the correct data
Ich möchte wissen:
a) Wenn es einen einfacheren Weg zu tun dies b
) Wenn nicht, wie würde ich mich über das richtige Element
Dank Löschen
Es ist nicht immer eine gute Idee, eine "Data.Map" anstelle einer Assoziationsliste zu verwenden. 'Data.Map' ist nur für eine große Datenstruktur schneller und oft ist die Zuordnungsliste einfacher zu verwenden und führt zu saubererem Code. Hier haben wir keine Informationen darüber, wie die Assoziationsliste verwendet wird oder wie die Daten aussehen, daher ist es schwer zu sagen. – Yitz
@Yitz, ich schätze, ich stelle Ihre Behauptung in Frage, dass Assoziationslisten "oft" einfacher und sauberer sind. Das habe ich noch nie erlebt. – luqui
Das muss sein, weil Sie zu oft auf "Data.Map" greifen. :) – Yitz