(→비교 연산자) |
|||
(사용자 2명의 중간 판 3개는 보이지 않습니다) | |||
7번째 줄: | 7번째 줄: | ||
|[[lnx:control|제어문]] | |[[lnx:control|제어문]] | ||
|[[lnx:macro|매크로]] | |[[lnx:macro|매크로]] | ||
− | |[[lnx: | + | |[[lnx:wordline|대사줄]] |
|[[lnx:custom macro|사용자정의 매크로]] | |[[lnx:custom macro|사용자정의 매크로]] | ||
|} | |} | ||
78번째 줄: | 78번째 줄: | ||
비교 연산자는 변수를 서로 비교하기 위해 쓰이는 연산자 입니다. | 비교 연산자는 변수를 서로 비교하기 위해 쓰이는 연산자 입니다. | ||
− | + | 대부분 [[Lnx:control|제어문]] 의 '''조건식''' 부분에 쓰이게 됩니다.(이후 문법에 나오게 되므로 무슨말인지 이해가 안되도 넘어갑시다.) | |
비교연산자는 결과가 <code>0</code>이나 <code>1</code> 이 됩니다. | 비교연산자는 결과가 <code>0</code>이나 <code>1</code> 이 됩니다. | ||
103번째 줄: | 103번째 줄: | ||
</li></ul> | </li></ul> | ||
− | |||
143번째 줄: | 142번째 줄: | ||
조건문에 대해서 궁금하다면 [[lnx:control|제어문]] 페이지를 방문해보세요. | 조건문에 대해서 궁금하다면 [[lnx:control|제어문]] 페이지를 방문해보세요. | ||
+ | |||
+ | |||
+ | == 논리 연산 == | ||
+ | |||
+ | 논리 연산은 '''참'''과 '''거짓'''으로 하는 연산입니다. | ||
+ | |||
+ | LNX 스크립트에는 논리 연산자가 없으므로, 사칙 연산자(*, +)와 비교 연산자(!=)를 통해 논리 연산을 구현합니다. | ||
+ | |||
+ | |||
+ | '''예1 AND 연산''' | ||
+ | |||
+ | <lnx> | ||
+ | 변수1 = 6 | ||
+ | @조건 (변수1 % 2 == 0) * (변수1 % 3 == 0): | ||
+ | [대화] | ||
+ | ;<=변수1>은 2와 3의 공배수입니다. | ||
+ | </lnx> | ||
+ | |||
+ | |||
+ | '''예2 OR 연산''' | ||
+ | |||
+ | <lnx> | ||
+ | 변수1 = 4 | ||
+ | @조건 (변수1 % 2 == 0) + (변수1 % 3 == 0): | ||
+ | [대화] | ||
+ | ;<=변수1>은 2 또는 3의 배수입니다. | ||
+ | </lnx> | ||
+ | |||
+ | |||
+ | '''예3 XOR 연산''' | ||
+ | |||
+ | <lnx> | ||
+ | 왼손 = "검" | ||
+ | @조건 (왼손 != 0) != (오른손 != 0): | ||
+ | [대화] | ||
+ | ;왼손 또는 오른손 한 쪽에만 무기를 끼고 있습니다. | ||
+ | </lnx> | ||
+ | |||
+ | |||
+ | == 연산자 우선순위 == | ||
+ | |||
+ | {| class="wikitable" | ||
+ | ! style="text-align:center;"| 우선순위 | ||
+ | ! 연산자 | ||
+ | ! 설명 | ||
+ | |- style="text-align:left;" | ||
+ | | style="text-align:center;" | 0 | ||
+ | | () | ||
+ | | 괄호 | ||
+ | |- | ||
+ | | style="text-align:center;" rowspan="2"| 1 | ||
+ | | ! | ||
+ | | NOT | ||
+ | |- | ||
+ | | - | ||
+ | | 부호 연산 | ||
+ | |- | ||
+ | | style="text-align:center;" | 2 | ||
+ | | *, /, % | ||
+ | | 곱셈, 나눗셈, mod | ||
+ | |- | ||
+ | | style="text-align:center;" | 3 | ||
+ | | +, - | ||
+ | | 덧셈, 문자열 연결, 뺄셈 | ||
+ | |- | ||
+ | | style="text-align:center;" rowspan="2"| 4 | ||
+ | | ==, != | ||
+ | | 동등비교 | ||
+ | |- | ||
+ | | >=, <=, <, > | ||
+ | | 대소비교 | ||
+ | |- | ||
+ | | style="text-align:center;" | 5 | ||
+ | | = | ||
+ | | 대입 연산 | ||
+ | |} |
2015년 3월 27일 (금) 14:08 기준 최신판
기본문법 | ||||||
---|---|---|---|---|---|---|
주석 | 변수 | 연산자 | 제어문 | 매크로 | 대사줄 | 사용자정의 매크로 |
연산자
lnx스크립트에는 다음과 같은 연사자들이 있습니다. 하나씩 살펴보도록 하겠습니다.
- 대입연산자
- 사칙연산자
- 비교연산자
대입 연산자
대입이란 변수 에 값을 넣는 단순한 행위입니다. 할당이라고 부르기도 합니다.
lnx 스크립트에서는 대입할땐 =
를 이용합니다.
철수나이
라는 변수에 10
을 넣어보겠습니다.
예
철수나이=10 |
사칙 연산자
기본적으로 숫자가 대입된 변수에 한하여 대하여 덧셈(+),뺄셈(-),곱셈(*),나눗셈(/)과 같은 사칙연산이 가능합니다.
예외적으로 문자열이 들어간 변수의 경우에는 계산이 되지 않고 새로운 문자열을 얻게 됩니다.
예1 정수연산
철수나이=20 |
철수아버지나이= 철수나이+35 |
예2 소수연산
세율=0.1 |
가격=2000 |
세금= 가격*세율 |
예외적으로 문자열이 들어간 변수의 경우에는 계산이 되지 않고 새로운 문자열을 얻게 됩니다.
예3 문자열끼리 더하기
재료1="딸기" |
재료2="바나나" |
결과 = 재료1 + 재료2 |
위 예에서 결과
라는 변수는 "딸기바나나"이라는 문자열이 됩니다.
예3 문자열과 숫자 더하기
이름="철수" |
나이=10 |
결과 = 이름 + 나이 |
위 예에서 결과
라는 변수는 "철수10" 이라는 문자열이 됩니다.
비교 연산자
비교 연산자는 변수를 서로 비교하기 위해 쓰이는 연산자 입니다.
대부분 제어문 의 조건식 부분에 쓰이게 됩니다.(이후 문법에 나오게 되므로 무슨말인지 이해가 안되도 넘어갑시다.)
비교연산자는 결과가 0
이나 1
이 됩니다.
조건식 이란 계산 결과가 0
이나 1
의 값이 나오는 계산식을 의미합니다.
참고
정확하게는 0 은 false, 그 이외의 값은 true 를 의미합니다.
- ==
좌우로 어떤 변수나 숫자,문자열 같은 값을 놓아 서로 같은지 비교합니다. 같으면 1 같지 않은면 0입니다.
- !=
"==" 와는 반대로 서로 다른 경우에 1이 됩니다. 같은 경우에는 0이 됩니다.
- >, >=, <=,<
값의 크기를 비교하는 연산자 4가지 입니다. 좌우로 어떤 변수나 숫자,문자열 같은 값을 놓아 누가 더 큰지 비교합니다.
'>'의 경우 좌측에 있는 것이 우측에 있는 것 보다 더 크면 참이고 '<'의 경우엔 우측에 있는 것이 좌측에 있는 것 보다 크면 참입니다.
유사하게, '>='의 경우 좌측에 있는 것이 우측에 있는 것 보다 더 크거나 같으면 1이고 '<='의 경우엔 우측에 있는 것이 좌측에 있는 것 보다 크거나 같으면 참입니다.
문자열 비교 예제
사람 = "영희" |
@조건 사람=="철수": |
[효과음 아이디="효과" 파일명="철수목소리.mp3"] |
[독백] |
;철수가 다가온다. |
@다른조건 사람=="영희" |
[효과음 아이디="효과" 파일명="영희목소리"] |
[독백] |
;영희가 다가온다. |
@그외 |
[독백] |
;모르는 사람이 다가온다. |
[독백] |
;인사를 해야겠다. |
;<=사람>씨 안녕하세요? |
값 비교 예제
철수나이 = 10 |
영희나이 = 20 |
@조건 철수나이 < 영희나이: |
[독백] |
;철수가 영희보다 어리다. |
@다른조건 영희나이 < 철수나이: |
[독백] |
;영희가 철수보다 어리다. |
@그외: |
[독백] |
;아무래도 둘의 나이가 같은 것 같다. |
조건문에 대해서 궁금하다면 제어문 페이지를 방문해보세요.
논리 연산
논리 연산은 참과 거짓으로 하는 연산입니다.
LNX 스크립트에는 논리 연산자가 없으므로, 사칙 연산자(*, +)와 비교 연산자(!=)를 통해 논리 연산을 구현합니다.
예1 AND 연산
변수1 = 6 |
@조건 (변수1 % 2 == 0) * (변수1 % 3 == 0): |
[대화] |
;<=변수1>은 2와 3의 공배수입니다. |
예2 OR 연산
변수1 = 4 |
@조건 (변수1 % 2 == 0) + (변수1 % 3 == 0): |
[대화] |
;<=변수1>은 2 또는 3의 배수입니다. |
예3 XOR 연산
왼손 = "검" |
@조건 (왼손 != 0) != (오른손 != 0): |
[대화] |
;왼손 또는 오른손 한 쪽에만 무기를 끼고 있습니다. |
연산자 우선순위
우선순위 | 연산자 | 설명 |
---|---|---|
0 | () | 괄호 |
1 | ! | NOT |
- | 부호 연산 | |
2 | *, /, % | 곱셈, 나눗셈, mod |
3 | +, - | 덧셈, 문자열 연결, 뺄셈 |
4 | ==, != | 동등비교 |
>=, <=, <, > | 대소비교 | |
5 | = | 대입 연산 |