본문 바로가기

Development/Programming

[Scala] Case Classes

사용방법

  1. abstract class Term
  2. case class Var(name: String) extends Term
  3. case class Fun(arg: String, body: Term) extends Term
  4. case class App(f: Term, v: Term) extends Term


사용 예제 1

  1. Fun("x", Fun("y", App(Var("x"), Var("y"))))


사용 예제 2

  1. val x = Var("x")
  2. println(x.name)


사용 예제 3

  1. val x1 = Var("x")
  2. val x2 = Var("x")
  3. val y1 = Var("y")
  4. println("" + x1 + " == " + x2 + " => " + (x1 == x2))
  5. println("" + x1 + " == " + y1 + " => " + (x1 == y1))


예제 3 출력결과

  1. Var(x) == Var(x) => true
  2. Var(x) == Var(y) => false



사용 예제 4

  1. def isIdentityFun(term: Term): Boolean = term match {
  2. case Fun(x, Var(y)) if x == y => true
  3. case _ => false
  4. }

  5.  실행코드
  6. println(isIdentityFun(id))
  7. 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