‘if’ in Scala is modeled as an expression block.
Syntax
if(boolean expression){
//expression block1
}
If the Boolean expression evaluates to true, expression block1 gets executed and the return value of ‘expression block1’ is the return value of the entire ‘if’ expression.
scala> var number = 2
var number: Int = 2
scala> var result = if (number % 2 == 0) {"Even Number"}
var result: Any = Even Number
scala> print(result)
Even Number
If the Boolean expression evaluates to false, then ‘Nothing’ will be returned. ‘Nothing’ is a special value in Scala to represent emptiness.
scala> var number = 3
var number: Int = 3
scala> var result = if (number % 2 == 0) {"Even Number"}
var result: Any = ()
scala> print(result)
()
As you see the output, type of variable result is ‘Any’. It is because Scala compiler smart enough to identify that this if block return a String value when evaluates to true and ‘Nothing’ when evaluates to false.
If-else expression block
If-else in Scala is modeled as an expression block.
Syntax
if(boolean expression){
//expression block1
}else{
//expression block2
}
If the Boolean expression evaluates to true, expression block1 gets executed and the return value of ‘expression block1’ is the return value of the entire if-else expression.
scala> var number = 3
var number: Int = 3
scala> var result = if (number % 2 == 0) {"Even Number"} else {"Odd Number"}
var result: String = Odd Number
scala>
scala> print(result)
Odd Number
No comments:
Post a Comment