package com.aura.scala.day01

import scala.util.Random

object extractorObject {
def main(args: Array[String]): Unit = {
// val customer1ID = CustomerID("Sukyoung") // Sukyoung--23098234908
// customer1ID match {
// case CustomerID(name) => println(name) // prints Sukyoung
// case _ => println("Could not extract a CustomerID")
// } val customer2ID = CustomerID("Nico")
val CustomerID(name) = customer2ID
println(name)
}
} object CustomerID {
def apply(name: String) = s"$name--${Random.nextLong}" def unapply(customerID: String): Option[String] = {
val stringArray: Array[String] = customerID.split("--")
if (stringArray.tail.nonEmpty) Some(stringArray.head) else None
}
}

result:

"D:\Program Files\Java\jdk1.8.0_201\bin\java.exe" "-javaagent:D:\Program Files\JetBrains\IntelliJ IDEA 2019.1.3\lib\idea_rt.jar=8825:D:\Program Files\JetBrains\IntelliJ IDEA 2019.1.3\bin" -Dfile.encoding=UTF- -classpath "D:\Program Files\Java\jdk1.8.0_201\jre\lib\charsets.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\deploy.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\access-bridge-64.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\cldrdata.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\dnsns.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\jaccess.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\jfxrt.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\localedata.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\nashorn.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunec.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunjce_provider.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunmscapi.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\sunpkcs11.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\ext\zipfs.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\javaws.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\jce.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\jfr.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\jfxswt.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\jsse.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\management-agent.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\plugin.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\resources.jar;D:\Program Files\Java\jdk1.8.0_201\jre\lib\rt.jar;C:\Users\admin\IdeaProjects\ScalaDay\out\production\ScalaDay;C:\Program Files (x86)\scala\lib\scala-actors-2.11.0.jar;C:\Program Files (x86)\scala\lib\scala-actors-migration_2.11-1.1.0.jar;C:\Program Files (x86)\scala\lib\scala-library.jar;C:\Program Files (x86)\scala\lib\scala-parser-combinators_2.11-1.0.4.jar;C:\Program Files (x86)\scala\lib\scala-reflect.jar;C:\Program Files (x86)\scala\lib\scala-swing_2.11-1.0.2.jar;C:\Program Files (x86)\scala\lib\scala-xml_2.11-1.0.4.jar" com.aura.scala.day01.extractorObject
Nico

最新文章

  1. iOS - 详细理解KVC与KVO
  2. Robots.txt - 禁止爬虫(转)
  3. Git push 常见用法
  4. python中的自测语句是什么?
  5. MyEclipse 中文乱码 史诗级解决方法。也可用于其他编码
  6. LtUpload上传组件
  7. ios中view的生命周期
  8. UIView--UIImageView
  9. 使用XML文件定义菜单
  10. Java泛型:泛型类,泛型接口和泛型方法
  11. HTML5 文件上传
  12. Web前端教程-HTML及标签的使用
  13. SPOJ 1812 LCS2 - Longest Common Substring II
  14. C语言简单计算一元二次方程
  15. 论文笔记系列-Neural Network Search :A Survey
  16. SVN 撤回已提交的代码
  17. JS输入框正则校验
  18. 跟着未名学Office - 高效笔记OneNote
  19. chattr 改变文件、目录属性 (chmod、passwd等涉及文件修改的命令提示Operation not permitted)
  20. google翻译插件安装

热门文章

  1. redis有序集合数据类型---sortedset
  2. Python Unittest进行接口测试的简单示例
  3. 记录一次kafka解决相同userId顺序消费的问题
  4. php上传文件报错以及对应代号信息-转载http://jewel-m.iteye.com/blog/1210344
  5. 关于Vue-ElementUI修改默认样式不成功问题解决
  6. S3C2440 OpenJtag
  7. ASP.NET使用window.event.keycode来获取按下的键盘值!
  8. KeepAlive细谈
  9. 支付宝手机网站支付(基于Java实现支付宝手机网站支付)
  10. Flutter——AlertDialog组件、SimpleDialog组件、showModalBottomSheet组件(弹窗组件)