object Test07_Practice_CollectionOperation {
def main(args: Array[String]): Unit = {
def arrayOperation(array: Array[Int], op: Int => Int): Array[Int] = {
for (elem <- array) yield op(elem)
}
def addOne(elem: Int): Int = {
elem + 1
}
val newArray: Array[Int] = arrayOperation(arr,add)
val newArray2 = arrayOperation(arr, _ * 2)
println(newArray.mkString(","))
}
}
def main(args: Array[String]): Unit = {
val fun = (i: Int, s: String, c: Char) => {
if (i == 0 && s == "" && c == '0') false else true
}
println(fun(0, "", '0'))
println(fun(32, "12", 'l'))
def func(i: Int): String => (Char => Boolean) = {
def f1(s: String): Char => Boolean = {
def f2(c: Char): Boolean = {
if (i == 0 && s == "" && c == '0') false else true
}
f2
}
f1
}
println(func(0)("")('0'))
def func(i:Int):String=>(Char=>Boolean)={
s=>{c=>{if (i == 0 && s == "" && c=='0')false else true
}
}
}
println(func(0)("")('0'))
def func(i:Int)(s:String)(c:Char):Boolean={if (i == 0 && s == "" && c=='0')false else true
}
println(func(4)("")('0'))
}
}

println(tailFact(5))
def tailFact(n: Int): Int = {
@tailrec
def loop(n: Int, currRes: Int): Int = {
if (n == 0) return currRes
loop(n - 1, currRes * n)
}
loop(n, 1)
}
