⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gadts.scala

📁 JAVA 语言的函数式编程扩展
💻 SCALA
字号:
package examplesobject gadts extends Application {  abstract class Term[T]  case class Lit(x: int) extends Term[int]  case class Succ(t: Term[int]) extends Term[int]  case class IsZero(t: Term[int]) extends Term[boolean]  case class If[T](c: Term[boolean],                   t1: Term[T],                   t2: Term[T]) extends Term[T]  def eval[T](t: Term[T]): T = t match {    case Lit(n)        => n    case Succ(u)       => eval(u) + 1    case IsZero(u)     => eval(u) == 0    case If(c, u1, u2) => eval(if (eval(c)) u1 else u2)  }  Console.println(    eval(If(IsZero(Lit(1)), Lit(41), Succ(Lit(41)))))}

⌨️ 快捷键说明

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