learning scala extractor object
2024-08-27 08:46:36
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
最新文章
- iOS - 详细理解KVC与KVO
- Robots.txt - 禁止爬虫(转)
- Git push 常见用法
- python中的自测语句是什么?
- MyEclipse 中文乱码 史诗级解决方法。也可用于其他编码
- LtUpload上传组件
- ios中view的生命周期
- UIView--UIImageView
- 使用XML文件定义菜单
- Java泛型:泛型类,泛型接口和泛型方法
- HTML5 文件上传
- Web前端教程-HTML及标签的使用
- SPOJ 1812 LCS2 - Longest Common Substring II
- C语言简单计算一元二次方程
- 论文笔记系列-Neural Network Search :A Survey
- SVN 撤回已提交的代码
- JS输入框正则校验
- 跟着未名学Office - 高效笔记OneNote
- chattr 改变文件、目录属性 (chmod、passwd等涉及文件修改的命令提示Operation not permitted)
- google翻译插件安装
热门文章
- redis有序集合数据类型---sortedset
- Python Unittest进行接口测试的简单示例
- 记录一次kafka解决相同userId顺序消费的问题
- php上传文件报错以及对应代号信息-转载http://jewel-m.iteye.com/blog/1210344
- 关于Vue-ElementUI修改默认样式不成功问题解决
- S3C2440 OpenJtag
- ASP.NET使用window.event.keycode来获取按下的键盘值!
- KeepAlive细谈
- 支付宝手机网站支付(基于Java实现支付宝手机网站支付)
- Flutter——AlertDialog组件、SimpleDialog组件、showModalBottomSheet组件(弹窗组件)