Scala Notes: Functions

Functions in Scala can be defined simply as follows:

def fnname (args)={ 
  // function body
}

Implementing loop can be done in following manner.

def whileLoop{
  var i = 1
  while (i<=3) {
    println (i)
  }
}

Function that takes other functions as a parameter, or that returns a function as the result, are called higher order function. One thing that is particular to functional programming is that it treats function as value. This provides a flexible way to compose programs.

def totalResultOverRange(number:Int, codeBlock: Int => Int):Int = {
    var result = 0;
for ( i &lt;- 1 to number) {
 result = result + codeBlock(i)
}

return result;

}                                               //> totalResultOverRange: (number: Int, codeBlock: Int => Int)Int
totalResultOverRange(11, i => i)                //> res0: Int = 66
totalResultOverRange(11, i =>if (i%2 == 0) 0 else 1)
//> res1: Int = 6