Sagen Sie zum Beispiel, ich mappe eine Liste auf die nächste, und in der Karte möchte ich eine Berechnung mit dem aktuellen Element in der Liste mit dem nächsten Element in der Liste.Scala erhalten nächsten Index in der Liste von aktuellen Artikel
def someFunc(L: List[Integer]) : List[Integer] = {
L.collect {
case k if (k != L(L.length-1)) //do something with k and the next element
}
}
Ein einfaches Beispiel ist ich durch diese Liste der ganzen Zahlen gehen möchten, und ordnen jede Zahl auf die nächste Nummer in der Liste, indem sie geteilt.
z. (1,2,3) -> (2/1, 3/2) == (2, 1.5)
Ich hatte darüber nachgedacht, dies mit indexOf zu tun, aber ich denke nicht, dass es effizient ist, das zu suchen ganze Liste für das aktuelle Element, obwohl ich sowieso schon jedes Element in der Liste durchquere.
Sie haben die x und y in der falschen Reihenfolge, sollte 'y/x' sein, aber die Logik funktioniert. Vielen Dank – NotAPro