Scala 提取器unapply方法

2021-10-09 13:59:09 字數 1199 閱讀 5074

目錄

提取器是從傳遞給它的物件中提取出構造該物件的引數。

e.g.

傳入name = amy, age = 10,用於構造student類,

這裡可以得到 uname = amy, age = 10 

object client 

}

class foo(foo: string) 

object foo

}

類似析構函式

例1

package basic.runoob.advanced

class money(val value: double, val country: string) {}

object money else

}}object moneymain

}}}

例2

package basic.runoob.advanced

class car(val brand:string, val price:int)

}object car

some((c.brand, c.price))

}}def main(args:array[string])

}}/*brand: bmw and carprice:800000

**********

80 ++++ amw

*/

例3

def main(args: array[string]): unit = else

} def isemail(input:string):boolean =

input.split("@").length == 2

def getpartone(input:string) =

def getparttwo(input:string) =}

可以變成這個

def main(args: array[string]): unit =

}}object email

}

參考:

scala入門實踐 - 碩果累累的文章 - 知乎

scala入門到精通——第二十五節 提取器(extractor)

scala的提取器 Extractor

提取器 extractor 我們之前已經使用過scala中非常強大的模式匹配功能了,通過模式匹配,我們可以快速匹配樣例類中的成員變數。例如 1.建立兩個樣例類 case class person name string,age int case class order id string def m...

Scala基礎 提取器Extractor使用示例

package com.spark.scala.basics 1.case class person1 name string,age int class coder val name string,val salary int object coder 提取,用 some 封裝成tuple som...

Scala系列21 Scala提取器的使用

我們之前已經使用過scala中非常強大的模式匹配功能了,通過模式匹配,我們可以快速匹配樣例類中的成員變數。例如 1.建立兩個樣例類 case class person name string,age int case class order id string def main args array...