
45
1
장
타입
더 좋은 방법은 아예 이렇게 할 일이 없게 만드는 것이다. 즉, 표준 트레이트인
From
구현을 이
용해 (아이템
10
) 내부 오류 타입에서 외부 오류 타입을 생성할 수 있다면,
.
map
_
err
()
를 호
출하지 않아도 컴파일러가 자동으로 변환해 준다.
이런 변환 기법은 다양한 상황에 적용하도록 일반화할 수 있다. 여기서 물음표 연산자는 강력
하지만 광범위한 도구다. 단순히 물음표 연산자를 사용하기만 하지 말고
Option
과
Result
타
입에서 제공하는 다양한 변환 메서드를 이용해 물음표 연산자를 적용하기 좋게 만들어서 사용
하는 것이 좋다.
표준 라이브러리는 다양한 변환 메서드를 제공한다. [그림
1
-
1
]은 관련 타입 (짙은 색 박
스)끼리 변환해 주는 메서드 중에서도 가장 많이 사용되는 것들을 (옅은 색 박스 ) 보여 주
고 있다. 별표 (
*
)가 달린 메서드는 아이템
18
에서 설명할
panic
!
을 실행할 수 있는 메서
드다.
그림
1-1
Option
과
Result
변환
16
16
이 다이어그램의 온라인 버전(
https
://
oreil
.
ly
/
effective
_
rust
_
transforms
)에서는 각 상자를 클릭하면 상세 문서로 이동한다.