Esiste un modo per utilizzare la "mappa" di Haskell o qualcosa di simile con più argomenti?Mappa applicata a più argomenti in Haskell
cioè di trovare la distanza tra un determinato punto (definito come una tupla) e un elenco di altri punti:
map distance (-3,-3) buildings
Chiaramente, che non funziona, perché cerca di mappare "distanza" per (-3, -3), in cui la distanza attende due tuple:
let distance pointA pointB = sqrt ((frst pointB - frst pointA) * (frst pointB - frst pointA) + (scnd pointB - scnd pointA) * (scnd pointB - scnd pointA))
distanza prende due punti come argomenti: uno è (-3, -3) in questo esempio, e uno è selezionato dall'elenco "edifici ".
(-3, -3) è solo un esempio. Questo dovrà essere una variabile; non può essere codificato nella funzione.
Forse questo renderà un po 'più senso:
buildings = [(3,-2),(2,1),(5,3),(4,3),(4,-1)]
firstDiff pointA pointB = subtract (fst pointA) (fst pointB)
secondDiff pointA pointB = subtract (snd pointA) (snd pointB)
distance pointA pointB = sqrt ((firstDiff pointA pointB) * (firstDiff pointA pointB) + (secondDiff pointA pointB) * (secondDiff pointA pointB))
--- What I need to happen here is a list "score" to be created by taking all distances from a point in a list lPoints to a point in list buildings.
distanza prende due punti come argomenti: uno è (-3, -3) in questo esempio, e uno è selezionato dalla lista " edifici". (-3, -3) è solo un esempio. Questo dovrà essere una variabile; non può essere codificato nella funzione. –
ovviamente "gli edifici della mappa (distanza primo punto)" funzionerebbero, no? O per dirla senza mezzi termini: "dal punto di costruzione edifici = mappa (punto di distanza) edifici" – ondra
Ovviamente è possibile sostituire (-3, -3) con una variabile. – helium