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}}
packagecom.zishi.scala.a02.okk05/*** 函数作为返回值*/object Test08_Practice {def main(args: Array[String]):Unit={// 2. 练习2 内层函数可以使用外层函数的参数// func 参数列表:i: Int, 返回值类型(函数类型):String => (Char => Boolean)def func(i:Int):String=>(Char=>Boolean)={// f1函数: 参数列表:s: String, 返回值类型:Char => Booleandef f1(s:String):Char=>Boolean={// f2函数: 参数列表:c: Char, 返回值类型:Booleandef 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'))//truedef func33(i:Int):String=>(Char=>Boolean)={// f1函数: 参数列表:s: String, 返回值类型:Char => Booleandef f1(s:String):Char=>Boolean={// f2函数: 参数列表:c: Char, 返回值类型:Boolean// def f2(c: Char): Boolean = if (i == 0 && s == "" && c == '0') false else true//def f2(c: Char) = if (i == 0 && s == "" && c == '0') false else true// val f2 = (c: Char) => if (i == 0 && s == "" && c == '0') false else true// c => if (i == 0 && s == "" && c == '0') false else truec =>true}f1}def func44(i:Int):String=>(Char=>Boolean)={// f1函数: 参数列表:s: String, 返回值类型:Char => Boolean//def f1(s: String): Char => Boolean = c => if (i == 0 && s == "" && c == '0') false else true//def f1(s: String) = (c:Char) => if (i == 0 && s == "" && c == '0') false else true//val f1 = (s: String) => (c:Char) => if (i == 0 && s == "" && c == '0') false else true//(s: String) => (c:Char) => if (i == 0 && s == "" && c == '0') false else trues => c =>if(i ==0&& s ==""&& c =='0')falseelsetrue}// 匿名函数简写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}}
「每日跟读」句型公式 第2篇
1. I’m thinking about____
我在考虑____
I’m thinking about my future career (我正在思考我未来的职业)
I’m thinking about our marriage (我在考虑我们的婚姻)
I’m thinking about taking a vacation (我在考虑度一个假)
I’m think…