Skip to content

식과 연산자

이 문서에서는 준랭에서 값을 계산하고 비교하는 방법을 다룹니다.

식이란 무엇인가요?

식(expression)값을 만들어내는 코드 조각입니다. 예를 들어 1 + 2는 식이고, 그 결과는 3이라는 값입니다.

준랭에서 가장 단순한 식은 숫자 그 자체입니다.

junlang

이 코드 자체가 하나의 식이고, 값은 1입니다. 여기에 연산자를 붙이면 더 복잡한 식을 만들 수 있습니다.

산술 연산자

준랭의미일반적인 표기
~덧셈+
.곱셈*
..제곱**
#나눗셈/
junlang
~오오

1 + 2이므로 결과는 오오오(3)입니다.

junlang
오오.오오오

2 × 3이므로 결과는 오오오오오오(6)입니다.

junlang
오오..오오오

이므로 결과는 오오오오오오오오(8)입니다.

뺄셈 연산자가 없습니다

준랭에는 별도의 뺄셈 연산자가 없습니다. 대신 음수 부호 ?와 덧셈 ~을 조합합니다.

junlang
~?오

1 + (-1)오?(0)

0으로 나누거나 소수로 거듭제곱하면?

에러가 발생합니다. (참고: 에러)

0으로 나누기:

text
이건 기하반도 안 하는 실수인데?

소수 지수 거듭제곱:

text
준서가 어렵대

비교 연산자

준랭의미일반적인 표기
@같나==
!@다르나!=
미만<
초과>
ㅁ@이하<=
ㅊ@이상>=

비교 연산자의 결과는 항상 (1, 참) 또는 오?(0, 거짓)입니다.

junlang
@

1 == 1(참)

junlang
오오오오오

2 < 3(참)

junlang
오오오ㅁ@오오

3 <= 2오?(거짓)

!@을 변수와 헷갈리지 마세요

!는 변수 이름으로도 쓰이기 때문에, 다음 두 코드는 완전히 다른 의미입니다.

코드해석
!@오오변수 1번 == 2
!!@오오변수 1번 != 2

자세한 규칙은 붙여 쓰기 규칙을 참고하세요.

단항 연산자

피연산자가 하나만 필요한 연산자입니다.

준랭의미일반적인 표기
?음수 부호-
!논리 부정 (not)!
junlang
?오오

-2

junlang
!

not 1오?(0)

junlang
!오?

not 0(1)

!의 이중적 의미

!는 단항 연산자이면서 동시에 변수 이름으로도 쓰입니다. 인터프리터는 문맥에 따라 둘을 구분합니다.

코드해석
!오not 1 (부정 연산자)
!~오변수 1번 + 1 (변수 이름)

! 다음에 이 오면 부정 연산자, 연산자가 오면 변수 이름으로 해석됩니다.

연산자 우선순위

한 식에 여러 연산자가 있을 때, 우선순위가 높은 것부터 계산됩니다.

순위연산자설명
1 (가장 높음)?, !단항 연산자
2..제곱
3., #곱셈, 나눗셈
4~덧셈
5 (가장 낮음)@, !@, , , ㅁ@, ㅊ@비교 연산자

같은 우선순위의 연산자는 왼쪽에서 오른쪽으로 평가됩니다 (왼쪽 결합).

junlang
~오오.오오오

1 + 2 × 31 + 6오오오오오오오(7)

junlang
오오오#오오#오오

(3 ÷ 2) ÷ 20.75

단계별로 따라가 보기

오~오오.오오오 (1 + 2 × 3)

  1. 곱셈이 덧셈보다 우선순위가 높으므로 먼저 계산
    • 오오.오오오2 × 3오오오오오오(6)
  2. 그다음 덧셈
    • 오~오오오오오오1 + 6오오오오오오오(7)

오오..오오오.오오 (2³ × 2)

  1. 제곱이 곱셈보다 우선순위가 높으므로 먼저 계산
    • 오오..오오오오오오오오오오오(8)
  2. 그다음 곱셈
    • 오오오오오오오오.오오8 × 2오 오오오오오(16)

TIP

우선순위를 명시적으로 바꾸고 싶다면 준, 서를 사용하세요.

대입 연산자

식의 결과를 변수에 저장할 때 사용합니다.

junlang
[식]~준서[변수명]ㅋ

[변수명][식]을 대입하는 연산자입니다.

은 대입 연산자의 일부가 아닙니다

은 문장의 끝에 붙는 마침표 역할을 합니다. (혹은 소숫점) 자세한 내용은 문장과 블록을 참고하세요.

junlang
~준서!ㅋ

변수 1번(!)에 (1)을 대입합니다.

junlang
오오오~준서!!ㅋ

변수 2번(!!)에 오오오(3)을 대입합니다.

junlang
~오오~준서!!!ㅋ

변수 3번(!!!)에 오~오오(1 + 2 = 3)을 대입합니다. 식이 먼저 계산된 후 그 결과가 변수에 저장됩니다.

TIP

변수에 대한 자세한 내용은 변수를 참고하세요.