Provo a tagliare una 1D Array[Double]
usando il metodo slice
. Ho scritto un metodo che restituisce l'indice iniziale e finale come una tupla (Int,Int)
.Affettare Scala Scala con tupla
def getSliceRange(): (Int,Int) = {
val start = ...
val end = ...
return (start,end)
}
Come posso utilizzare il valore di ritorno di getSliceRange
direttamente?
ho provato:
myArray.slice.tupled(getSliceRange())
Ma questo dà la mia una fase di compilazione Errore:
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())
in breve: '(myArray.slice (_, _)). Tupla (getSliceRange())' fa il trucco. –
Potete spiegare cosa significa '(doubleArray.slice (_, _)). Tupled'? –
'doubleArray.slice (_, _)' è uguale a '(a, b) => doubleArray.slice (a, b)', abbiamo bisogno delle parentesi perché vogliamo chiamare 'tupla' sulla funzione e non sul risultato di 'slice'. –