RUST · PATTERNS

패턴의 이름은 새 바인딩을 만듭니다

`Some(y)`의 `y`는 바깥 변수와 비교하는 이름이 아니라, 매치 갈래 스코프 안에서 값을 받는 새 변수입니다.

shadowing
갈래 패턴

Some(y)

xSome(5)라면 내부 값 5가 새 y에 바인딩됩니다.

이 갈래 안의 y는 바깥의 y = 10을 가립니다.

비교 조건

매치 가드 사용

바깥 변수와 비교하려면 Some(n) if n == y처럼 조건을 붙입니다.

패턴은 구조를 해체하고, 가드는 이미 있는 값을 검사합니다.

읽는 순서: 패턴에 나온 새 이름은 먼저 값을 붙잡고, 갈래 본문이 끝나면 사라집니다. 바깥 변수는 매치가 끝난 뒤 다시 그대로 보입니다.