gadts1.scala

来自「JAVA 语言的函数式编程扩展」· SCALA 代码 · 共 28 行

SCALA
28
字号
object Test{abstract class Numbercase class Int(n: int) extends Numbercase class Double(d: double) extends Numbertrait Term[+a]case class Cell[a](var x: a) extends Term[a]case class NumTerm(val n: Number) extends Term[Number]class IntTerm(n: Int) extends NumTerm(n) with Term[Int]def f[a](t:Term[a], c:Cell[a]): unit =   t match {      case NumTerm(n) => c.x = Double(1.0)   }val x:Term[Number] = NumTerm(Int(5))def main(args: Array[String]): unit = {  val cell = Cell[Int](Int(6))  Console.println(cell)  f[Int](new IntTerm(Int(5)), cell)  Console.println(cell)}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?