Scala Language
Si des expressions
Recherche…
Expressions de base si
Dans Scala (contrairement à Java et à la plupart des autres langages), if est une expression au lieu d'une déclaration . Indépendamment, la syntaxe est identique:
if(x < 1984) {
println("Good times")
} else if(x == 1984) {
println("The Orwellian Future begins")
} else {
println("Poor guy...")
}
L'implication de if être une expression est que vous pouvez affecter le résultat de l'évaluation de l'expression à une variable:
val result = if(x > 0) "Greater than 0" else "Less than or equals 0"
\\ result: String = Greater than 0
Nous voyons ci-dessus que l'expression if est évaluée et que le result est défini sur cette valeur.
Le type de retour d'une if expression est le super - type de toutes les branches logiques. Cela signifie que pour cet exemple, le type de retour est une String . Étant donné que tous if les expressions renvoient une valeur ( par exemple , comme if la déclaration qui n'a pas d' else logique de branche), il est possible que le type de retour est Any :
val result = if(x > 0) "Greater than 0"
// result: Any = Greater than 0
Si aucune valeur ne peut être retournée (comme si seuls les effets secondaires comme println sont utilisés dans les branches logiques), le type de retour sera Unit :
val result = if(x > 0) println("Greater than 0")
// result: Unit = ()
if expressions dans Scala sont similaires à celles de l' opérateur ternaire dans les fonctions Java . En raison de cette similitude, il n’ya pas d’opérateur de ce type à Scala: il serait redondant.
Les accolades peuvent être omis dans une
ifexpression si le contenu est une seule ligne.