20
Jun

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.


free b2evolution skin