Zhuuu ZZ Scala 四 高階函式

2021-10-25 01:55:38 字數 2967 閱讀 1869

函式柯里化

模式匹配

樣例類隱式引數

object test1 

// add

// } else if (s.length == 5) else

// println(fun("hahah")(9, 1))

//第二種方法:先內建函式後判斷。基於所用的內建函式是乙個結構

def fun(s:

string):

(int

,int

)=>

int=

suanfa

}println(fun(

"hahahf")(

5,3)

)}}

object test2 

fun3

}else

fun3

}} fun2

}else

fun3

}else

fun3

}} fun2

}} fun(2)

(5000

,3000)(

"馬甲"

)//簡便:

object test2

else

} fun3

}fun2

}fun1(6)

(5000

,3000)(

"zhu")}

}

object test3 

fun1

}else

} println(fun(

(x:string

)=>

,"hahah")(

3,3)

)}}

object test4 

def fun1(a:

int,b:

int,c:

int)

(d:int):

int=

def fun2(a:

int,b:

int)

(c:int

,d:int):

int=

def fun3(a:

int)

(b:int

)(c:

int)

(d:int):

int=

def fun4(a:

int)

(b:int

,c:int

,d:int):

int=

println(fun(1,

2,3,

4)) println(fun1(1,

2,3)

(4))

println(fun2(1,

2)(3

,4))

println(fun3(1)

(2)(

3)(4

))}}

object demomatch 

//模式匹配

def match1(x:

int)

:string

=x match

//判斷輸入的型別

def match2(x:

any)

:unit

=x match

def main(args: array[

string])

:unit

=}

object democaseclass 

def main(args: array[

string])

:unit

=}

object demoimplicit 

//隱式引數需要定義在object內,不能定義在純類中。

implicit

var a:

int=

10//同乙個型別只能有乙個

implicit

var str:

string

="hello"

def fun2(a:

int,b:

int)

(implicit c:

int=5)

:int

=def fun3(a:

int,b:

int)

(implicit c:

int=

5,str:

string):

int=

println(

"fun3結果為:"

+fun3(30,

20))//hello

// 60

println(

"fun3結果為:"

+fun3(30,

30)(20

,"heheda"))

//heheda

// 80

println(

"fun1結果"

+fun1(10,

10)(20

))//40

//優先順序:傳參 >隱式引數 >預設

println(

"fun2結果"

+fun2(10,

10)(20

))//40,優先順序最高

println(

"fun2接果"

+fun2(10,

10)()

)//25,有括號就代表已經顯示傳參,就遮蔽了隱式引數,不過傳了個空那只能呼叫預設值5。這個時候如果連預設值5都沒寫就會編譯報錯。

println(

"fun2結果"

+fun2(10,

10))//30,隱式引數第二,注掉隱式引數後,預設值才起效果

}}

javascript 高階程式設計 四

新的一天開始,讓我們伴隨者輕快的心情,開始今天的筆記 1 操作符 1 在ecmascript中操作的時候,如果遇到有乙個操作值不是數值型 number 那麼就會在後台呼叫number 方法,將其轉化成number 2 和上面的三個操作符是不一樣的,只要其中乙個操作值不是number,那麼就會在後台呼...

mysql高階(四) 鎖

總結 讀鎖會阻塞寫,但是不會阻塞讀 寫鎖則會把讀和寫都阻塞檢視那些表被加鎖了 show open tables 結論 myisam的讀寫鎖排程是鎖優先,不適合做寫為主表的引擎 因為寫鎖後,其它執行緒不能進行任何操作,大量的更新回使查詢阻塞。行鎖 乙個事務開啟,使用索引為條件更新資料會把這一行資料鎖定...

nginx高階提公升(四)

linux下nginx服務實現http到https的自動重定向 原創cinjosy 最後發布於2019 04 26 16 57 14 閱讀數 300 收藏 展開續我的上篇博文 即本篇博文是在上篇博文修改完之後的nginx.conf檔案中進行修改的。實現http到https的自動重定向 1 實現臨時重...