//模式匹配的基礎語法
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 的。在最後一行指令中的 是乙個萬用字元 它保證了我們可以處理所有的情況。否則當傳進乙個不能被匹配的數字的時候,你將獲得乙個執行時錯誤。我們...