// 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 */
// 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 */
Leave a Reply