Try your kotlin code here.
Simple Try
==========
fun main(args: Array<String>) { println("Hello, World!"); println(sum(3,4)); println(sumTest(5,5)); println("Difference Test =>"+diffTest(8,3)); println("Difference Test with out Unit =>"+diffTestWithoutUnitReturn(9,3)); println(parseInt("25")) println("Array Size =>"+args.size()); } public fun sum(a: Int, b: Int): Int { println("Value1=>"+a); println("Value2=>"+b); return a+b; } fun sumTest(a: Int, b: Int) = a+b; fun diffTest(a: Int,b: Int) : Unit { println(a-b); } fun diffTestWithoutUnitReturn(a: Int, b: Int) { println("Diff =>" +(a-b)); } fun parseInt(str: String): Int? { val str: Int? = str as? Int; return str; }
Lambda - Hands on
=================
fun main(args : Array<String>) { println("Hello, world!") val sum = sumLambda(3,4) println("SumOfValue="+sum) val doubleValue = doubleTheSum(3,4,sumLambda) println("Double the sum="+doubleValue)
//passing lambda expression directly to High order function val twoTimeVal = doubleTheSum(3,4,{a,b->((a+b)*2)}) println(twoTimeVal);
println("Cube numbers"+cubeNumbers); for(x in cubeNumbers) { println("Value of Cube=>"+x); } for(x in cubeNumbers.indices) { println("Value of Cube using indices =>"+cubeNumbers[x]); } } val sumLambda: (Int, Int) -> Int = {x,y -> x+y} fun doubleTheSum(x: Int, y: Int,f:(Int, Int) -> Int) : Int { return f(x,y) * f(x,y); }
val numbers: Array<Int> = arrayOf(1,2,3,4)
//map function of an array is to apply the transformation into each individual elements of an array. val cubeNumbers = numbers.map({x->x*x*x})