object test{
def apply(name:String): String ={
s"$name--${Random.nextLong}"
}
def unapply(arg: String): Option[String] = {
val name=arg.split("--").head
if(name.nonEmpty) Some(name)
else None
}
def main(args: Array[String]): Unit = {
val tests=test("gmy")
tests match {
case test(name)=>println(name)
case _=>"can't extract param"
}
}
}
unapply是apply的方向操作,用于提取之前apply输入的参数