Option 모델의 이점

3063 단어 Scalatech
if (v == null) {
// nullのときの処理
} else 
// null以外のときの処理
}
이렇게 쓰면 가장 주목하고 싶은 것null以外のとき이 뒤에 나타나 "아직?"라는 심정을 드러냈다.보통은 가치가 있을 때 처리하는 것이 기본 노선이고,null일 때는 대체 노선이겠죠?
그러니까...
if (v != null) {
// null以外のときの処理
} else {
// nullのときの処理
}
이렇게 써도 된다고 했지만 null 이런 글이 먼저 나오는 것을 좋아하지 않는다.
이 점에서 옵티콘형을 사용한다면...
val v = Some(2)
val r = v.map { _ + 1 }.getOrElse(0)
처럼 먼저 기본 뿌리의 값으로 쓸 때의 뿌리를 쓴 다음에 대체 뿌리가 되지 않았을 때의 뿌리를 쓴다.여분의 정보.
포내포를 나타낼 때도...
for {
  x <- v.orElse(Some(0))
  y <- ...
} yield (x, y)
처럼 확실히 가치가 있는 상태로 통일된 후에 처리할 수도 있다(당연히getOrElse.
옵티온형을 사용한 장점은 null 안전이지만 기본 노선과 대체 노선은 관심 순서대로 배열해야 한다고 생각한다.

좋은 웹페이지 즐겨찾기