더북(TheBook)

3.4.1 산술

록스의 기본 산술 연산자는 이미 어디선가 한 번쯤 보았던 C 계열의 코드와 비슷하다.

add + me;
subtract - me;
multiply * me;
divide / me;

연산자 양쪽 서브식(subexpression)은 피연산자(operand)다. 피연산자가 2개라서 이항 연산자(binary operator)라고 부른다. (0과 1을 뜻하는 ‘이진(binary)’과는 아무 상관이 없다.) 연산자가 피연산자 가운데 고정되어 있어 중위 연산자(infix operator)라고도 한다. 연산자가 피연산자 앞에 있으면 전위 연산자(prefix operator), 피연산자 뒤에 있으면 후위 연산자(postfix operator)라고 한다.

2개 이상의 피연산자 사이사이에 들어가는 연산자도 있다. 그중 유일하게 많이 쓰는 연산자는 C의 '조건 연산자(conditional operator)' 또는 '삼항 연산자(ternary operator)'다.

condition ? thenArm : elseArm;

 

이런 연산자를 혼위 연산자(mixfix operator)라고 부르는 사람들도 있다. 사용자가 직접 연산자가 어디에 들어갈지, 즉 고정성(fixity)을 마음대로 정의할 수 있는 언어도 있다.

숫자를 음수화하는(negate) - 연산자는 중위 연산자이면서 전위 연산자인 산술 연산자다.

-negateMe;

산술 연산자는 모두 숫자를 대상으로 하며, 다른 타입의 데이터를 넣으면 에러가 난다. 예외적으로 + 연산자는 두 문자열을 연결하는(concatenate) 용도로 쓰인다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.