object test8 {
def main(args: Array[String]): Unit = {
var add=(x:Int, y:Int)=>x+y
var mul=(x:Int,y:Int)=>x*y
var op=(fn:(Int,Int)=>Int,a:Int,b:Int)=>{
fn(a,b)
}
println(op(add,100,200))
println(op(mul,100,200))
}
// def main(args: Array[String]): Unit = {
//
//
// def sum(x:Int,y:Int)={
// x+y
// }
// println(sum(100,200))
// var sum1=(x:Int,y:Int)=>{x+y}
// var sum2=(x:Int,Y:Int)=> x + y
// var sum3:(Int,Int)=>Int=_+_
// var classRoo="教室310"
// println(sum3(100,200))
函数的字面量语法
把函数作为参数
object test8 {
//currying 科里化
def main(args: Array[String]): Unit = {
// def add(x:Int,y:Int)=x+y
// println(add(100,300))
def add(x:Int)(y:Int)(z:Int)=x + y + z
println(add(100)(300)_)
println( t(200))
println(add(100)(200)(400))
}
// def main(args: Array[String]): Unit = {
// var f=(x:Int)=>{
// (y:Int)=>x+y
// }
// var s=f(100)
// var res=s(200)
// println(res)
// }
Scala的函数的闭包
函数
的科里化格式
高阶函数
object test82 {
def main(args: Array[String]): Unit = {
//Array:数组
var arr=Array(0,1,2,3,3,4,5)
//arr就是一个数组
println(arr(0))
//循环来打印
for (i<-arr){
println(i)
}
}
}