Lnx:operator

피니엔진위키미러
이동: 둘러보기, 검색
기본문법
주석 변수 연산자 제어문 매크로 대사줄 사용자정의 매크로

연산자

lnx스크립트에는 다음과 같은 연사자들이 있습니다. 하나씩 살펴보도록 하겠습니다.

  • 대입연산자
  • 사칙연산자
  • 비교연산자


대입 연산자

대입이란 변수 에 값을 넣는 단순한 행위입니다. 할당이라고 부르기도 합니다.

lnx 스크립트에서는 대입할땐 = 를 이용합니다.

철수나이 라는 변수에 10 을 넣어보겠습니다.

<lnx>철수나이=10</lnx>



사칙 연산자

기본적으로 숫자가 대입된 변수에 한하여 대하여 덧셈(+),뺄셈(-),곱셈(*),나눗셈(/)과 같은 사칙연산이 가능합니다.

예외적으로 문자열이 들어간 변수의 경우에는 계산이 되지 않고 새로운 문자열을 얻게 됩니다.

예1 정수연산

<lnx>철수나이=20 철수아버지나이= 철수나이+35</lnx>


예2 소수연산

<lnx>세율=0.1 가격=2000 세금= 가격*세율</lnx>


예외적으로 문자열이 들어간 변수의 경우에는 계산이 되지 않고 새로운 문자열을 얻게 됩니다.

예3 문자열끼리 더하기

<lnx>재료1="딸기" 재료2="바나나" 결과 = 재료1 + 재료2</lnx>

위 예에서 결과 라는 변수는 "딸기바나나"이라는 문자열이 됩니다.


예3 문자열과 숫자 더하기

<lnx>이름="철수" 나이=10 결과 = 이름 + 나이</lnx>

위 예에서 결과 라는 변수는 "철수10" 이라는 문자열이 됩니다.


비교 연산자

비교 연산자는 변수를 서로 비교하기 위해 쓰이는 연산자 입니다.

대부분 제어문조건식 부분에 쓰이게 됩니다.(이후 문법에 나오게 되므로 무슨말인지 이해가 안되도 넘어갑시다.)

비교연산자는 결과가 0이나 1 이 됩니다.

조건식 이란 계산 결과가 0 이나 1 의 값이 나오는 계산식을 의미합니다.

참고정확하게는 0 은 false, 그 이외의 값은 true 를 의미합니다.


  • ==

    좌우로 어떤 변수나 숫자,문자열 같은 값을 놓아 서로 같은지 비교합니다. 같으면 1 같지 않은면 0입니다.

  • !=

    "==" 와는 반대로 서로 다른 경우에 1이 됩니다. 같은 경우에는 0이 됩니다.

  • >, >=, <=,<

    값의 크기를 비교하는 연산자 4가지 입니다. 좌우로 어떤 변수나 숫자,문자열 같은 값을 놓아 누가 더 큰지 비교합니다.

    '>'의 경우 좌측에 있는 것이 우측에 있는 것 보다 더 크면 참이고 '<'의 경우엔 우측에 있는 것이 좌측에 있는 것 보다 크면 참입니다.

    유사하게, '>='의 경우 좌측에 있는 것이 우측에 있는 것 보다 더 크거나 같으면 1이고 '<='의 경우엔 우측에 있는 것이 좌측에 있는 것 보다 크거나 같으면 참입니다.



문자열 비교 예제

<lnx>사람 = "영희" @조건 사람=="철수": [효과음 아이디="효과" 파일명="철수목소리.mp3"] [독백] ;철수가 다가온다. @다른조건 사람=="영희" [효과음 아이디="효과" 파일명="영희목소리"] [독백] ;영희가 다가온다. @그외 [독백] ;모르는 사람이 다가온다. [독백]

인사를 해야겠다.
<=사람>씨 안녕하세요?</lnx>


값 비교 예제

<lnx>철수나이 = 10 영희나이 = 20 @조건 철수나이 < 영희나이: [독백] ;철수가 영희보다 어리다. @다른조건 영희나이 < 철수나이: [독백] ;영희가 철수보다 어리다. @그외: [독백] ;아무래도 둘의 나이가 같은 것 같다.</lnx>


조건문에 대해서 궁금하다면 제어문 페이지를 방문해보세요.


논리 연산

논리 연산은 거짓으로 하는 연산입니다.

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>


연산자 우선순위

우선순위 연산자 설명
0 () 괄호
1  ! NOT
- 부호 연산
2 *, /, % 곱셈, 나눗셈, mod
3 +, - 덧셈, 문자열 연결, 뺄셈
4 ==, != 동등비교
>=, <=, <, > 대소비교
5 = 대입 연산