2019独角兽企业重金招聘Python工程师标准>>>

Scala Case Class

case classes 是做什么的呢? 你可以就把他理解成一个普通的class,但是又略有不同,总结如下:

  1. 不需要写 new, 但是可以写

  2. 默认是public ,在任何地方调用

  3. 默认实现了toString

  4. 不能被继承

如下示例,

/*** @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相关推荐

  1. Scala Case类和对象

    Scala是没有Java中的switch case语法的,相对应地,scala提供了更加强大的match case 语法,即模式piper,类替代switch case,match case也被称为模 ...

  2. scala case语句_Scala模式与case语句匹配

    scala case语句 Scala supports inbuilt pattern matching mechanism which is one of the more powerful fea ...

  3. 17 scala case class object

    17 scala case class object 更多干货 分布式实战(干货) spring cloud 实战(干货) mybatis 实战(干货) spring boot 实战(干货) Reac ...

  4. scala case 常用简写

    case样本序列 先看一段代码 val func1: Int => Int = {         case x  => 1     } 1 2 3 等号的右边是{case x => ...

  5. Scala Case Class介绍

    1.代码示例 package com.yy.base/*** case class 示例*/ abstract class Person case class Student(name:String, ...

  6. scala case class 继承_数字硬件系统设计之一:Scala快速入门(2)

    原想简单笼统介绍一下scala,后感觉这么做意思不大,网友看了和没看一样,还是应该稍微详细具体一点,故而把系列编号由(上)(中)(下),改为(上)(2)(3)(4)(5)....,(上)就是(1)吧, ...

  7. Scala Case

    /*** 支持模式匹配,默认实现了Serializable接口** 样例类: case class 类名(属性....)* 类名的定义必须是驼峰式,属性名称第一个字母小写*/ case class M ...

  8. scala case class入门

    case class的输出 如下没有写case class的toString方法,但是是可以输出的 object Test extends App {val p1 = Person("lim ...

  9. scala case语句中的中置表示法

    如果unapply方法产生一个对偶,则你可以在case语句中使用中置表示法 例如 :amt match {case a Currency u=> ...}  //等同于 case Currenc ...

  10. 黑猴子的家:Scala Case语句的中置(缀)表达式

    什么是中置表达式?1 + 2,这就是一个中置表达式.如果unapply方法产出一个元组,你可以在case语句中使用中置表示法.比如可以匹配一个List序列. List(1, 7, 4, 9) matc ...

最新文章

  1. windows10+Python3.7安装dlib库进行面部标志识别
  2. sql语句中having的作用是?
  3. 高仿真的类-ApplicationContextAware
  4. mysql-The-server-quit-without-updating-PID-file
  5. 艰苦的编译boost python (失败)
  6. 可视化数据图表制作注意事项
  7. 十分钟一起学会ResNet残差网络
  8. 计算机组成原理期末复习【超实用】
  9. java局域网发送文件_Java如何实现局域网文件传输代码案例分享
  10. I didn't write blog yesterday night for some ineffable reasons
  11. 苹果手机备份有必要吗_苹果手机备份最简单方式!原来大神都这样做
  12. 如何在Word中用Visio画图
  13. Server报错:“Starting Tomcat v9.0 Server at localhost` has encountered a problem”(已解决)
  14. 股票价格在随机漫步吗?用 Python 来告诉你
  15. 周末作业-循环练习题(1)
  16. ubuntu18.04修改屏幕休眠时间
  17. react 渲染table数据
  18. ZZULIOJ1081-1090
  19. Mac 开机密码忘记
  20. C#之:线程同步 Monitor类

热门文章

  1. Web的测试内容和方法【转贴】
  2. Java 8 Stream
  3. 服务器使用nginx做代理,通过HttpServletRequest获取请求用户真实IP地址
  4. CABasicAnimation 按home键后台之后,再切回来动画就停止
  5. django管理界面使用与bootstrap模板使用
  6. 35、IFE任务34——听指令的小方块(二)
  7. Ubuntu下安装Adobe Reader的中文语言包
  8. 人工智能-机器学习之seaborn(读取xlsx文件,小提琴图)
  9. ipython快捷键
  10. Vue中全局导入和按需导入的区别