Scala Language
Als uitdrukkingen
Zoeken…
Basisuitdrukkingen
In Scala (in tegenstelling tot Java en de meeste andere talen) is if
een expressie in plaats van een statement . Hoe dan ook, de syntaxis is identiek:
if(x < 1984) {
println("Good times")
} else if(x == 1984) {
println("The Orwellian Future begins")
} else {
println("Poor guy...")
}
De implicatie van if
een uitdrukking is dat je het resultaat van de visitatie van de uitdrukking aan een variabele kunt toewijzen:
val result = if(x > 0) "Greater than 0" else "Less than or equals 0"
\\ result: String = Greater than 0
Hierboven zien we dat de if
expressie wordt geëvalueerd en het result
wordt ingesteld op die resulterende waarde.
Het retourtype van een if
expressie is het supertype van alle logische vertakkingen. Dit betekent dat voor dit voorbeeld het retourtype een String
. Aangezien niet alle if
uitdrukkingen terug te keren een waarde (zoals een if
verklaring dat er geen heeft else
tak logica), is het mogelijk dat de return type is Any
:
val result = if(x > 0) "Greater than 0"
// result: Any = Greater than 0
Als er geen waarde kan worden geretourneerd (bijvoorbeeld als alleen bijwerkingen zoals println
worden gebruikt binnen de logische vertakkingen), is het retourtype Unit
:
val result = if(x > 0) println("Greater than 0")
// result: Unit = ()
if
uitdrukkingen in Scala vergelijkbaar zijn met de werking van de ternaire operator in Java . Vanwege deze gelijkenis is er geen dergelijke operator in Scala: het zou overbodig zijn.
Krullende accolades kunnen worden weggelaten in een
if
expressie als de inhoud een enkele regel is.