Eli-Golin
10/18/2016 - 5:36 AM

Statement_vs_Expression

Statement_vs_Expression

//Statement - Statement exexutes code but there's no value returned.
//Expression - Code that evaluates to a value.

/* Don't use 'return'
   One of hte keys to using expressions is realizing that there's
   no need for a return statement. An expression evaluates to a value so there's
   no need to return
*/

//a method that using statements
def createErrorMessage(errCode:Int):String = {
  var result:String = _
  errCode match {
    case 1 => result = "Network Failure"
    case 2 => result = "I/O Failure"
    case _ => result = "Unknown Error"
  }
  result
}

//Better way, use expressions
def createErrorMessage(errCode: Int):String = errorCode match {
    case 1 => "Network Failure"
    case 2 => "I/O Failure"
    case _ => "Unknown Error"
}

//Code utilizing mutable objects tends to be written in imperative style.