Scala – Functions




// Functions in Scala
object Demo {

  object Math {
    def add(x: Int, y: Int): Int = {
      return x + y;
    }
    def square(x: Int) = x*x;
  }
  def add(x: Int, y: Int): Int = {
    return x + y;
  }
  def subtract(x: Int, y: Int): Int = {
    x - y;
  }
  def multiply(x: Int, y: Int): Int = x * y;

  def divide(x: Int, y: Int) = x / y;

  def main(args: Array[String]) {
    println(Math.add(45,15));
    println(Math square 3); 
    println(add(45, 15));
    println(subtract(45, 15));
    println(multiply(45, 15));
    println(divide(45, 15));
  }
}


/*
output:
60
9
60
30
675
3

*/
// Functions in Scala
object Demo {

  object Math {
    def +(x: Int, y: Int): Int = {
      return x + y;
    }
    def **(x: Int) = x*x;
  }
  
  def print(x: Int, y : Int): Unit = {
    println(x+y);
  }

  def main(args: Array[String]) {
    
    var add = (x : Int, y : Int) => x + y;
    println(add(300, 500));
    val sum = 10 * 20;
    print(100, 200);
    println(Math.+(60, 15));
    println(Math ** 3);
  }
}


/*
OUTPUT:
800
300
75
9

*/


Apache Spark and Scala Certification Training

// Scala - Higher-Order Functions
object Demo {

   def math(x: Double, y:Double, z:Double, f: (Double, Double)=>Double): Double = f(f(x, y), z);
  
  def main(args: Array[String]) {
    val result = math(50, 20, 10, _ max _);
    println(result);
  }
}

// Scala - Partially Applied Functions
import java.util.Date
object Demo {

  def log(date : Date, message: String) = {
    println(date + "   " + message);
  }
  
  def main(args: Array[String]) {
    val sum = (a: Int, b: Int, c: Int) => a + b + c    
    val f = sum(10, _: Int, _ : Int)    
    println(f(100, 200));
    
    val date = new Date;
    val newLog = log(date, _ :String);
    newLog("The message 1");
    newLog("The message 2");
    newLog("The message 3");
    newLog("The message 4");
    
    
  }
}


/*
OUTPUT:
310
Fri Dec 15 18:28:45 CET 2017   The message 1
Fri Dec 15 18:28:45 CET 2017   The message 2
Fri Dec 15 18:28:45 CET 2017   The message 3
Fri Dec 15 18:28:45 CET 2017   The message 4


*/

 


Partner Sites

VideoToGifs.com

EasyOnlineConverter.com

SqliteTutorials.com





Be the first to comment

Leave a Reply

Your email address will not be published.


*