scala unapply的测试
来源:互联网 发布:cocos2dx mac 编辑:程序博客网 时间:2024/06/10 16:00
object Name {def unapply(ipt:String)={val pos = ipt.indexOf(" ") if (pos == -1) None else Some((ipt.substring(0,pos),ipt.substring(pos+1))) }}object IsCompound{def unapply(ipt:String)=ipt.contains(" ")}val author = "aabc 111 1"println(IsCompound.unapply(author))author match{case Name(f,uu IsCompound())=>println("haha")}author match{case Name(f,uu IsCompound(t))=>println("haha")}author match{case Name(f,IsCompound(t))=>println("haha")}author match{case Name(f,uu@IsCompound(t))=>println("haha")}author match{case Name(f,uu@IsCompound())=>println("haha")}/* if:uu IsCompound() : unapply receive uu; so it's a wrong syntax in the case of IsCompound has a boolean unapply * if: uu IsCompound(t) : equals IsCompound(uu,t);so it's a wrong syntax in the case of IsCompound has a boolean unapply * if: IsCompound(t) : equals uu IsCompound();so this it's a wrong syntax in the case of IsCompound has a boolean unapply * if: uu@IsCompound(t) : unapply receive uu and t is set the return value of unapply;so it's a wrong syntax in the case of IsCompound has a boolean unapply * if: uu@IsCompound():unapply receive uu; */
五个if写明了所有的情况,代码可直接测试,测试时请对照if中的说明;
这里的unapply指的是IsCompound的unapply,
可以对它修改以不报错,但是原理就是这样的.更具体的解释如下:
val author1 = "aabc 111 1" val a Name()=author1 println("a:"+a) val Name(b)=author1 println("b:"+b) val c Name(d)=author1 println("c:"+c+" "+"d:"+d) val h @Name(f,g)=author1 println("h:"+h+" "+"f:"+f+" "+"g:"+g)输出如下:a:(aabc,111 1)b:(aabc,111 1)c:aabc d:111 1h:aabc 111 1 f:aabc g:111 1
可见这与if所说的一致。
有问题请留言,或者发送邮件到:zhanghao_study@163.com.
0 0
- scala unapply的测试
- scala 的apply,update,unapply方法
- scala中的apply和unapply
- Desugar Scala(15) -- unapply和unapplySeq方法
- scala学习笔记:match与unapply()
- scala 随笔(7)unapply 解析
- scala中的apply方法与unapply方法
- scala 知识总结 apply与unapply
- scala断言专栏--标记你的测试
- Scalaz(27)- Inference & Unapply :类型的推导和匹配
- Scala Specs2 测试入门教程
- Scala中的测试
- scala入门测试
- Scala yield unit 测试
- ScalaTest 1.0发布,开源的Java,Scala测试框架
- Gatling-基于Scala,Akka&Netty的性能测试框架
- scala断言专栏--选择项目的测试样式
- scala断言专栏--使用idea运行你的测试
- POJ 1088 滑雪(最长下降子序列)
- LeetCode 035 Search Insert Position
- 2015年大二上-数据结构-树和二叉树-2-(1)二叉树的层次遍历
- 从头认识java-14.3 多维数组
- Oneplus2 解锁,刷Cm13.0
- scala unapply的测试
- Action Link开发模式
- JVM内存管理------GC算法简介
- 关于概率图的一点理解
- ubuntu server 14.04 下 pomelo 环境配置
- mysql处理字符串的两个绝招:substring_index,concat最近老是碰到要处理数据
- java web项目Tomcat转移到weblogic部署失败解决
- Android图形系统之Surface、SurfaceView、SurfaceHolder及SurfaceHolder.Callback之间的联系 && camera的takePicture实例
- web.xml实例