标签:length gmail str 方法 use rgs dom ali one
//object apply_test {
//  def main(args:Array[String]): Unit ={
//    println("apply 方法:"+apply("zara","gmail.com"))
//    println("unapplu方法"+unapply("zara@gmail.com"))
//    println("unapply方法"+unapply("zara ali"))
//  }
//   def apply(user:String,domain:String)={
//     user+"@"+domain
//   }
//  def unapply(str:String):Option[(String,String)]={
//    val parts=str split "@"
//    if(parts.length==2){
//      Some(parts(0),parts(1))
//    }else{
//      None
//    }
//  }
//}
//编译器在实例化的时会调用 apply 方法
//提取器对象中使用 match 语句是,unapply 将自动执行
object apply_test{
  def main(args:Array[String]): Unit ={
    val x=apply_test(5)
    println(x)
    x match{
      case apply_test(num) =>println(x+"是"+num+"的2倍")
      case _ =>println("无法计算")
    }
  }
  def apply(x:Int)=x*2
  def unapply(z:Int):Option[Int]=if(z%2==0) Some(z/2) else None
}标签:length gmail str 方法 use rgs dom ali one
原文地址:https://www.cnblogs.com/hapyygril/p/11544451.html