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 + -
显示快捷键?