Scala Case Class
2019独角兽企业重金招聘Python工程师标准>>>
Scala Case Class
case classes 是做什么的呢? 你可以就把他理解成一个普通的class,但是又略有不同,总结如下:
不需要写 new, 但是可以写
默认是public ,在任何地方调用
默认实现了toString
不能被继承
如下示例,
/*** @author: Lenovo(2015-04-13 13:37)*/// 抽象父类
abstract class Term// case class
case class Var(name: String) extends Term// case class
case class Fun(arg: String, body: Term) extends Term// case class
case class App0(f: Term, v: Term) extends Termobject TermTest extends App {def printTerm(term: Term) {term match {case Var(n) =>print(n)case Fun(x, b) =>print("^" + x + ".")printTerm(b)case App0(f, v) =>print("(")printTerm(f)print(" ")printTerm(v)print(")")}}def isIdentityFun(term: Term): Boolean = term match {case Fun(x, Var(y)) if x == y => truecase _ => false}val id = Fun("x", Var("x"))val t = Fun("x", Fun("y", App0(Var("x"), Var("y"))))printTerm(t)printlnprintln(isIdentityFun(id))println(isIdentityFun(t))
}
运行,
^x.^y.(x y)
true
false
================END================
转载于:https://my.oschina.net/xinxingegeya/blog/399977
Scala Case Class相关推荐
- Scala Case类和对象
Scala是没有Java中的switch case语法的,相对应地,scala提供了更加强大的match case 语法,即模式piper,类替代switch case,match case也被称为模 ...
- scala case语句_Scala模式与case语句匹配
scala case语句 Scala supports inbuilt pattern matching mechanism which is one of the more powerful fea ...
- 17 scala case class object
17 scala case class object 更多干货 分布式实战(干货) spring cloud 实战(干货) mybatis 实战(干货) spring boot 实战(干货) Reac ...
- scala case 常用简写
case样本序列 先看一段代码 val func1: Int => Int = { case x => 1 } 1 2 3 等号的右边是{case x => ...
- Scala Case Class介绍
1.代码示例 package com.yy.base/*** case class 示例*/ abstract class Person case class Student(name:String, ...
- scala case class 继承_数字硬件系统设计之一:Scala快速入门(2)
原想简单笼统介绍一下scala,后感觉这么做意思不大,网友看了和没看一样,还是应该稍微详细具体一点,故而把系列编号由(上)(中)(下),改为(上)(2)(3)(4)(5)....,(上)就是(1)吧, ...
- Scala Case
/*** 支持模式匹配,默认实现了Serializable接口** 样例类: case class 类名(属性....)* 类名的定义必须是驼峰式,属性名称第一个字母小写*/ case class M ...
- scala case class入门
case class的输出 如下没有写case class的toString方法,但是是可以输出的 object Test extends App {val p1 = Person("lim ...
- scala case语句中的中置表示法
如果unapply方法产生一个对偶,则你可以在case语句中使用中置表示法 例如 :amt match {case a Currency u=> ...} //等同于 case Currenc ...
- 黑猴子的家:Scala Case语句的中置(缀)表达式
什么是中置表达式?1 + 2,这就是一个中置表达式.如果unapply方法产出一个元组,你可以在case语句中使用中置表示法.比如可以匹配一个List序列. List(1, 7, 4, 9) matc ...
最新文章
- windows10+Python3.7安装dlib库进行面部标志识别
- sql语句中having的作用是?
- 高仿真的类-ApplicationContextAware
- mysql-The-server-quit-without-updating-PID-file
- 艰苦的编译boost python (失败)
- 可视化数据图表制作注意事项
- 十分钟一起学会ResNet残差网络
- 计算机组成原理期末复习【超实用】
- java局域网发送文件_Java如何实现局域网文件传输代码案例分享
- I didn't write blog yesterday night for some ineffable reasons
- 苹果手机备份有必要吗_苹果手机备份最简单方式!原来大神都这样做
- 如何在Word中用Visio画图
- Server报错:“Starting Tomcat v9.0 Server at localhost` has encountered a problem”(已解决)
- 股票价格在随机漫步吗?用 Python 来告诉你
- 周末作业-循环练习题(1)
- ubuntu18.04修改屏幕休眠时间
- react 渲染table数据
- ZZULIOJ1081-1090
- Mac 开机密码忘记
- C#之:线程同步 Monitor类