IF e ELSE no scala
Olá Pessoal,
Vou falar mais um pouquinho sobre scala. A ideia aqui não é explorar o conceito de um condicional em si, estou supondo que tenha alguma experiência com alguma outra linguagem e expondo como funciona aqui.
Como em outras linguagens de programação, o scala também oferece uma estrutura condicional, que pode até ser bem parecido com o que você está acostumado.
scala> val tres = 3 tres: Int = 3 scala> val dois = 2 dois: Int = 2 scala> if (tres > dois) { | println("Três é maior que dois") | } Três é maior que dois scala> if (dois > tres) { | println("Dois é maior que três") | } else if (dois == tres) { | println("Dois é igual a três") | } else { | println("Dois é menor que três") | } Dois é menor que três
Além desta forma comum, temos o que é chamado de “ternancy operator”, que talvez você tenha visto em outras linguagens, como o Java. Se a condição for TRUE, retorna a, senão b.
variavel = (a < b) ? a : b;
No scala, a operação é um pouco mais simples e direta. É possível testar a condição com um IF explícito dentro da atribuição da variável.
scala> val maior = if (dois > tres) dois else tres maior: Int = 3
A sutileza que encontramos no scala, é que o statement IF/ELSE retorna um valor e por isso não precisamos do “ternancy operator”.
Por este motivo podemos utilizar esta expressão direto como retorno de uma função.
scala> def maior(a: Int, b: Int) = if (a > b) a else b maior: (a: Int, b: Int)Int scala> maior(4, 6) res28: Int = 6 scala> maior (6, 4) res29: Int = 6
Era só esta pincelada rápida.
Até a próxima.