scala之偏函式

2021-10-09 03:41:06 字數 995 閱讀 7085

**

object partion

//用case定義偏函式

val div3:partialfunction[

int,

int]

=val res:partialfunction[

int,

string]=

//組合多個偏函式

val r1:partialfunction[

int,

string]=

val r2:partialfunction[

int,

string]=

val r3:partialfunction[

int,

string]=

//res2傳入乙個int型別引數進行匹配

val res2=r1 orelse r2 orelse r3

//連線操作,連線r4和r5

val r4:partialfunction[

int,

string]=

val r5:partialfunction[

string

,string]=

//傳int型別然後得到r4返回的string型別,最後判斷是否符合r5的字串

val res3:

(int

=>

string

)=r4 andthen(r5)

def main(args: array[

string])

:unit

=}

執行結果

false

true500

true

three

other

true

onethe num is 1

process finished with exit code 0

scala之偏函式

只對於偏愛的值進行處理,其他值不進行處理 val list1 list 1,2,3,a true 實現 partialfunction 輸入型別,輸出型別 val f new partialfunction any,int 偏函式使用 val result list1.collect f print...

Scala部分函式 偏函式

例如 def sum x int,y int,z int x y z,當呼叫sum的時候,如果不提供所有的引數,或者只提供某些引數時,比如sum sum 3,int,int sum int,3,4 這樣就生成了所謂的部分應用函式。案例 def showmsg title string content...

scala中的偏函式

case語句 組合 除了可以被編譯為匿名函式 型別是functionx,在scala裡,所有的函式字面量都是乙個物件,這個物件的型別是functionx 還可以非常方便的編譯為乙個偏函式partialfunction!注意 partialfunction同時是function1的子類 編譯器會根據呼...