제어 표현식
제어 표현식 (Control expressions)
제어 표현식에 대해 이야기하기 전에, _truthy_와 falsey 값이 무엇인지부터 알아야 해요. Crystal의 제어 표현식들은 대부분 조건의 진실성(truthiness)에 따라 동작을 결정하기 때문이에요.
출처: Crystal 공식 문서
본문
제어 표현식(control expression)이란 프로그램의 실행 흐름을 제어하는 표현식들을 가리켜요. Crystal에는 if, unless, case, select, while, until 같은 제어 표현식과, &&, || 같은 논리 연산자가 있어요.
이 문서는 제어 표현식 전체의 개요로, 각각의 자세한 내용은 별도 문서에서 다뤄요. 그 전에 반드시 알아둬야 할 개념이 바로 truthy와 falsey예요. Crystal에서 어떤 값이 조건으로 쓰였을 때 참으로 취급되는지(truthy), 거짓으로 취급되는지(falsey)에 따라 제어 흐름이 갈라지니까요.
- truthy: 조건에서 참으로 평가되는 값. Crystal에서는
nil과false를 제외한 모든 값이 truthy예요. - falsey: 조건에서 거짓으로 평가되는 값. Crystal에서는
nil과false만 falsey예요.
이 두 개념을 바탕으로, 이후 문서들에서 if, unless, case, select, while, until 등의 제어 표현식을 하나씩 살펴볼게요.
더 알아보기
- truthy/falsey의 핵심은
nil과false만 거짓이라는 점이에요. 예를 들어0이나 빈 문자열도 truthy예요. if/unless는 조건 분기,while/until은 반복,case는 패턴 매칭,select는 블로킹 연산 선택에 쓰여요.