Scala allows us to define variables, function parameters and function returned values with a type that is a function. We can even specify the exact signature of that function.

import annotation.tailrec

object Program
{
  def main(args: Array[String]):Unit =
  {
    var func:(Int,Int)=>Int = sum;
    println(func(4,3))
    func = multiply
    println(func(4,3))
  }
  def sum(a:Int,b:Int):Int = a+b
  def multiply(a:Int,b:Int):Int = a*b
}

The following video clip overviews this code samples, shows its execution and explains it.

Leave a Reply

Your email address will not be published. Required fields are marked *