Ich versuche eine 1D Array[Double]
mit der slice
Methode zu schneiden. Ich habe eine Methode geschrieben, die den Start- und Endindex als Tupel (Int,Int)
zurückgibt.Scala Array Slicing mit Tuple
def getSliceRange(): (Int,Int) = {
val start = ...
val end = ...
return (start,end)
}
Wie kann ich den Rückgabewert von getSliceRange
direkt benutzen?
Ich habe versucht:
myArray.slice.tupled(getSliceRange())
Aber das gibt mir einen Compiler-Fehler:
Error:(162, 13) missing arguments for method slice in trait IndexedSeqOptimized;
follow this method with `_' if you want to treat it as a partially applied function
myArray.slice.tupled(getSliceRange())
kurz: '(myArray.slice (_, _)). Tupled (getSliceRange())' macht den Trick. –
Können Sie erklären, was '(doubleArray.slice (_, _)). Tupled' bedeutet? –
'doubleArray.slice (_, _)' ist das gleiche wie '(a, b) => doubleArray.slice (a, b)', wir brauchen die Klammern, weil wir 'tupled' für die Funktion aufrufen wollen und nicht auf das Ergebnis von 'slice'. –