Spesso ho il desiderio di creare variabili con scope a un'istruzione if. Alcuni calcoli riguardano solo una particolare istruzione "se" - per inquinare l'ambito esterno con variabili temporanee maleodoranti.Variabili con ambito dell'istruzione if
Quello che vorrei fare:
val data = (whatever)
if (val x = data*2+5.4345/2.45; val y = data/128.4; x*y < 10)
x * y
else
x * 2
println(x) //ERROR!
Un'alternativa è piuttosto disordinato:
val data = (whatever)
if (data*2+5.4345/2.45*data/128.4 < 10)
data*2+5.4345/2.45*data/128.4
else
data*2+5.4345/2.45 * 2
L'ovvia alternativa che sto cercando di evitare:
val data = (whatever)
val x = data*2+5.4345/2.45
val y = data/128.4
if (x*y < 10)
x*y
else
x * 2
println(x) //OK
è qualcosa come questo possibile in Scala? C'è una soluzione decente? In caso contrario, quali altre lingue supportano un'idea del genere?
Very cool! Grazie! – vertexshader