33
when 식
컴퓨터 프로그램에는 패턴에 따라 어떤 동작을 수행하는 코드가 많다.
이 작업을 간편하게 해주는 기능은 무엇이든 프로그래머에게 유용하다. 두세 가지 이상의 선택지가 있는 경우 when 식을 사용하면 좋다. 아톰 7에서 다룬 if 식보다 when 식이 훨씬 좋다.
when 식은 어떤 값을 여러 가지 가능성과 비교해 선택한다. 식은 when으로 시작하고, when 뒤에는 괄호 안에 있는 비교 대상 값이 오고, 그 뒤에는 값과 일치할 수 있는 여러 매치(match)가 들어 있는 본문이 온다. 각 매치는 식, 오른쪽 화살표(->)로 시작한다. 여기서 오른쪽 화살표는 -와 > 두 문자로 이뤄져 있으며, 중간에 공백을 넣으면 안 된다. 화살표 오른쪽에는 결괏값을 계산하는 식이 온다.
when 식을 계산할 때는 비교 대상 값과 각 매치에 있는 화살표 왼쪽의 값을 순서대로 비교한다. 일치하는 값이 있으면 화살표 오른쪽 값을 계산한 값이 전체 when 식의 결괏값이 된다.