@@ -19,9 +19,7 @@ previous-page: traits
19
19
20
20
두 개의 엘리먼트를 가진 튜플을 다음처럼 만들 수 있다.
21
21
22
- ``` tut
23
- val ingredient = ("Sugar" , 25)
24
- ```
22
+ val ingredient = ("Sugar" , 25)
25
23
26
24
` String ` 엘리먼트와 ` Int ` 엘리먼트로 이루어진 튜플이 생성된다.
27
25
@@ -34,40 +32,35 @@ val ingredient = ("Sugar" , 25)
34
32
35
33
엘리먼트에 접근하는 한 가지 방법은 위치 정보를 이용하는 것이다. 각각의 엘리먼트들은 ` _1 ` , ` _2 ` 와 같은 명칭을 갖는다.
36
34
37
- ``` tut
38
- println(ingredient._1) // Sugar
39
- println(ingredient._2) // 25
40
- ```
35
+ println(ingredient._1) // Sugar
36
+ println(ingredient._2) // 25
37
+
41
38
## 튜플의 패턴 매칭
42
39
[ 패턴 매칭] ( pattern-matching.html ) 을 이용하여 튜플을 분리할 수 있다.
43
40
44
- ``` tut
45
- val (name, quantity) = ingredient
46
- println(name) // Sugar
47
- println(quantity) // 25
48
- ```
41
+ val (name, quantity) = ingredient
42
+ println(name) // Sugar
43
+ println(quantity) // 25
44
+
49
45
여기서 ` name ` 의 추론 타입은 ` String ` 이고, ` quantity ` 의 추론 타입은 ` Int ` 이다.
50
46
51
47
튜플 패턴 매칭의 또 다른 예는 다음과 같다.
52
48
53
- ``` tut
54
- val planets =
55
- List(("Mercury", 57.9), ("Venus", 108.2), ("Earth", 149.6),
56
- ("Mars", 227.9), ("Jupiter", 778.3))
57
- planets.foreach{
58
- case ("Earth", distance) =>
59
- println(s"Our planet is $distance million kilometers from the sun")
60
- case _ =>
61
- }
62
- ```
49
+ val planets =
50
+ List(("Mercury", 57.9), ("Venus", 108.2), ("Earth", 149.6),
51
+ ("Mars", 227.9), ("Jupiter", 778.3))
52
+ planets.foreach{
53
+ case ("Earth", distance) =>
54
+ println(s"Our planet is $distance million kilometers from the sun")
55
+ case _ =>
56
+ }
57
+
63
58
혹은, ` for ` 구문 안에서 다음처럼 사용할 수 있다.
64
59
65
- ``` tut
66
- val numPairs = List((2, 5), (3, -7), (20, 56))
67
- for ((a, b) <- numPairs) {
68
- println(a * b)
69
- }
70
- ```
60
+ val numPairs = List((2, 5), (3, -7), (20, 56))
61
+ for ((a, b) <- numPairs) {
62
+ println(a * b)
63
+ }
71
64
72
65
## 튜플과 케이스 클래스
73
66
사용자들은 때때로 튜플과 [ 케이스 클래스] ( case-classes.html ) 중 하나를 선택하는 것이 어려울 수 있다.
0 commit comments