📄 gadts1.scala
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -