사용방법
abstract class Term
case class Var(name: String) extends Term
case class Fun(arg: String, body: Term) extends Term
case class App(f: Term, v: Term) extends Term
사용 예제 1
Fun("x", Fun("y", App(Var("x"), Var("y"))))
사용 예제 2
val x = Var("x")
println(x.name)
사용 예제 3
val x1 = Var("x")
val x2 = Var("x")
val y1 = Var("y")
println("" + x1 + " == " + x2 + " => " + (x1 == x2))
println("" + x1 + " == " + y1 + " => " + (x1 == y1))
예제 3 출력결과
Var(x) == Var(x) => true
Var(x) == Var(y) => false
사용 예제 4
def isIdentityFun(term: Term): Boolean = term match {
case Fun(x, Var(y)) if x == y => true
case _ => false
}
실행코드
println(isIdentityFun(id))
println(isIdentityFun(t))
예제 4 출력결과
true
false
'Development > Programming' 카테고리의 다른 글
[Scala] Sequence Comprehensions (0) | 2014.02.14 |
---|---|
[Scala] Compound Types (0) | 2014.02.13 |
[Scala] 맛보기~! (2) (0) | 2014.02.03 |
[Scala] 맛보기~! (0) | 2014.02.03 |
Java의 Stack와 Heap 메모리에대해서... (0) | 2013.10.31 |