scala, Passando um operador como argumento de uma função
Eu tenho este código:
for( i <- 0 to 8){
((numbers(i) - i)/3).abs + ((numbers(i) - i)%3).abs
}
e eu gostaria de fazer, como diz o título, algo assim
for( i <- 0 to 8){
by3(numbers(i), i, /) + by3(numbers(i), i, %)
}
def by3(a: Int, b: Int, op: Int => Int) = ((a - b) op 3).abs
e provavelmente também usar uma função parcialmente aplicada para isso ... mas agora isso seria possível? Como?