튜플과 _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
'scala' 카테고리의 다른 글
[scala] map, flatten, flatmap 예시 (0) | 2016.09.08 |
---|---|
[scala] 여러 줄을 출력하기(print multi line ) (0) | 2016.09.07 |
[scala] foldLeft와 foldRight 사용법 (디버그 하는 방법) (0) | 2016.09.07 |
[scala] Stream 객체를 써서 List의 요소를 반복하기 (0) | 2016.09.07 |
[scala] package object 예제 (0) | 2016.09.07 |