튜플과 _1, _2와 match를 이용한 예시이다. 


튜플은 다양하게 생성할 수 있고, 내부 요소를 _1, _2로 만들 수 있다. 튜플의 개수에 따라 실제로 생성되는 클래스가 동적으로 생성된다. 2개의 요소를 가진 튜플은 scala.Tuple2 타입이다. 

tuple을 통해 타입과 값에 대한 match를 실행해봤고, 이를 더 응용해 메소드에서 match를 쓸 수 있도록 테스트했다.

val student = "Kyle" -> 22
// val student = ("Kyle", 22)
println(student._1, student._2)
println(student.getClass)

val result = student._1 match {
case "ABC" => "What?"
case s: String => "String"
}
println(result)
println(testMatch(student._1))



testMatch 코드는 다음과 같다. string의 값을 case문으로 비교한다. 

def testMatch(str : String) = str match {
case "Kyle" => "KK"
case _ => "Aha"
}



결과는 다음과 같다. 


(Kyle,22)

class scala.Tuple2

String

KK


Posted by '김용환'
,