Mi chiedevo come scrivere un metodo in Scala che accetta una funzione f
e un elenco di argomenti args
in cui ogni argomento è un intervallo. Supponiamo di avere tre argomenti (Range(0,2)
, Range(0,10)
e Range(1, 5)
). Quindi voglio ripetere su f
con tutte le possibilità di questi tre argomenti.verifica una distribuzione di probabilità con argomenti variabili somme a 1
var sum = 0.0
for (a <- arg(0)) {
for (b <- arg(1)) {
for (c <- arg(2)) {
sum += f(a, b, c)
}
}
}
Tuttavia, voglio che questo metodo funzioni per funzioni con un numero variabile di argomenti. È possibile?
Modifica: c'è un modo per farlo quando la funzione non accetta una lista, ma prende piuttosto un elenco di parametri standard o è in fase di elaborazione?
Penso che sia possibile tramite la ricorsione, ma solo se 'f' accetta un elenco di valori. –
Speravo di risolverlo senza questa limitazione ('f' prende una lista di parametri standard o è al curry). – schmmd