Mam listę elementów z niektórymi wartościami w nim.Jak odwzorować funkcję dwóch argumentów na listę?
Chcę zmapować go do funkcji i utworzyć listę zawierającą wartości obliczone przez zastosowanie tej funkcji dwóch argumentów do kolejnych wartości na pierwszej liście.
Ta lista będzie zawierać o jeden element mniej.
funkcja odwzorowania powinna przyjmować dwa argumenty jednocześnie.
EDIT
Przykład
funkcja dwa argumentem używam jest dość skomplikowane, więc dla uproszczenia pozwala zakładać, że jest to funkcja, która oblicza średnią z dwóch liczb.
jeśli mam listę: [3 8 11 14 19 20 88]
.
Czy jest możliwe dla mnie dwa napisać funkcję, która odwzorowuje mój average
funkcję, która dla (average 3 8)
dadzą 5.5
dla (average 8 11)
da 9.5
i (average 11 14)
da 12.5
i tak dalej. ..
ze stosowania średniej do dwóch kolejnych wartości z listy o godzinie ime powinna mi dać.
[5.5 9.5 12.5 16.5 19.5 54.0]
w wyniku.
map stosuje funkcję pojedynczego argumentu do całej listy i tworzy nową listę z dokładnie taką samą liczbą elementów.
to, czego chcę, to sposób na zastosowanie mojej funkcji, która wymaga dwóch argumentów, aby wykonać dwie kolejne naraz, zastosować do niej moją funkcję i dodać wynik do nowej listy.
można dodać trochę prosty przykład? –
Masz na myśli redukcję (http://clojure.github.io/clojure/clojure.core-api.html#clojure.core/reduce)? –