scala模式匹配

2021-10-25 06:18:02 字數 1870 閱讀 8902

//模式匹配的基礎語法

def match1(x:char):unit = x match

match1('d')

//模式匹配中使用if守衛模式

def match2(x:char):unit = x match

match2('a')

//在模式匹配中進行變數賦值

def match3(id:string,subject:string):unit = id match

match3("4","art" )

//對型別進行模式匹配(案例:異常處理)

def match4(e:exception):unit = e match

match4(new indexoutofbound***ception)

//對arrayhelist進行模式匹配

//array

def match5(arr:array[string]):unit =

}

var arr1 = array("kb09","kn05","kn07","kn02") //hello kb09*

var arr2 = array("kb09") //hello kb09

var arr3 = array("kb09","kn05","kn07") //hello kb09 & kb05 &kb07

var arr4 = array("kb02","kn05","kn07","kn09") //who are you ?

//樣例類和模式匹配

class person

case class teacher(name:string,subject:string) extends person

case class student(name:string,classroom:int) extends person

case class worker(name:string,work:string) extends person

case class stranger() extends person

def match6(p:person):unit = p match

match6(teacher("loe","english")) //hello,loe teacher,welcome to school,you teach subject is english

match6(student("joie",6)) //hello,joie,welcome to school,you classroom is 6

match6(worker("jay","repairman")) //hello,jay,welcome to school,you work is repairman

match6(worker("tan","fixman")) //hello,tan,welcome to school,you work is fixman

match6(stranger()) //you can not into school

//option與模式匹配

val map = map("zs"->"a","ls"->"b","ww"->"c")

def match7(name:string):unit =

}match7("zs") //zs成績為a

match7("leo") //沒有leo的成績

Scala模式匹配

1.常量匹配 def constantmatch x int string x match def constantmathtest 輸出結果 one many2.列表匹配 def sequencematch x list int string x match def sequencemathtes...

scala模式匹配

這是scala中最有用的部分之一。匹配值val times 1 times match 使用守衛進行匹配 times match 注意我們是怎樣將值賦給變數 i 的。在最後一行指令中的 是乙個萬用字元 它保證了我們可以處理所有的情況。否則當傳進乙個不能被匹配的數字的時候,你將獲得乙個執行時錯誤。我們...

scala模式匹配

這是scala中最有用的部分之一。匹配值val times 1 times match 使用守衛進行匹配 times match 注意我們是怎樣將值賦給變數 i 的。在最後一行指令中的 是乙個萬用字元 它保證了我們可以處理所有的情況。否則當傳進乙個不能被匹配的數字的時候,你將獲得乙個執行時錯誤。我們...