packagecom.zishi.scala.a02.okk05/*** 函数作为返回值*/object Test08_Practice {def main(args: Array[String]):Unit={// 2. 练习2def func(i:Int):String=>(Char=>Boolean)={def f1(s:String):Char=>Boolean={def f2(c:Char):Boolean={if(i ==0&& s ==""&& c =='0')falseelsetrue}f2}f1}println(func(0)("")('0'))//falseprintln(func(0)("")('1'))//trueprintln(func(23)("")('0'))//trueprintln(func(0)("hello")('0'))//true// 匿名函数简写def func1(i:Int):String=>(Char=>Boolean)={s => c =>if(i ==0&& s ==""&& c =='0')falseelsetrue}println(func1(0)("")('0'))//falseprintln(func1(0)("")('1'))//trueprintln(func1(23)("")('0'))//trueprintln(func1(0)("hello")('0'))//true// 柯里化def func2(i:Int)(s:String)(c:Char):Boolean={if(i ==0&& s ==""&& c =='0')falseelsetrue}println(func2(0)("")('0'))//falseprintln(func2(0)("")('1'))//trueprintln(func2(23)("")('0'))//trueprintln(func2(0)("hello")('0'))//true}}object Test08_Practice01 {def main(args: Array[String]):Unit={// 1. 练习1val fun =(i:Int, s:String, c:Char)=>{if(i ==0&& s ==""&& c =='0')falseelsetrue}println(fun(0,"",'0'))//falseprintln(fun(0,"",'1'))//trueprintln(fun(23,"",'0'))//trueprintln(fun(0,"hello",'0'))//true}}