본문 바로가기

Development/Programming

[Scala] Pattern Matching

다른 언어에서 Switch와 Case문을 Scala에서는 간편하게 match라는 키워드로 구현하면 된다.


우선은 Int를 사용하는 예제를 보자


  1. object MatchTest1 extends App {
  2. def matchTest(x: Int): String = x match {
  3. case 1 => "one"
  4. case 2 => "two"
  5. case _ => "many"
  6. }
  7. println(matchTest(3))
  8. }



두번째 예제는 Any라는 키워드를 통해 다양한 키워드 매칭이 가능하다. 그리고 또 놀라운 점은

case y : 보자 case에 매칭되지 않는 Int 타입인 경우 y라는 변수로 활용이 가능하다.


  1. object MatchTest2 extends App {
  2. def matchTest(x: Any): Any = x match {
  3. case 1 => "one"
  4. case "two" => 2
  5. case y: Int => y + " scala.Int"
  6. }
  7. println(matchTest("two"))
  8. }


'Development > Programming' 카테고리의 다른 글

[Scala] Traits  (0) 2015.03.07
[Scala] Polymorphic Methods  (0) 2015.03.05
[Scala] Higher-order Functions  (0) 2015.02.18
[Scala] Automatic Type-Dependent Closure Construction  (0) 2015.02.17
[Scala] Nested Functions  (0) 2015.02.16