Scala: if que retorna valor
Vou escrever aqui sobre scala. Tenho estudado scala já há algum tempo e a linguagem tem algumas features muito interessantes.
A idéia é apresentar aqui um conceito da linguagem que parece estranho à primeira vista, mas que se torna extremamente útil e interessante à medida que entendemos seu propósito: na linguagem scala, podemos retornar valores a partir de um bloco if e valorizar uma variável ou valor com esse retorno.
O código a seguir ilustra esse conceito:
def main(args: Array[String]) {
val valorPar =
if( (args(0).toInt % 2) == 0 ) {
"Sim"
} else {
"Não"
};
println(valorPar);
}
Parece estranho, não? Mas não é...
Em Java, teríamos que criar uma variável externa e atribuí-la diretamente no if, o que torna o código mais complexo e maior. Vimos que essa construção em Scala, apesar de estranha à primeira vista, se mostra muito útil e robusta à medida que a entendemos melhor.