Avangs

  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임new
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입
Avangs
  • 게임 정보
    • 게임 소개
    • 게임 리뷰
    • 게임 실황
    • 게임 공략
    • 모바일 테스트
  • 게임 작품new
    • 완성작 게임new
    • 체험판 게임
    • 한글판 게임new
    • 온라인 게임
    • 추천작 제작자 저장소
  • 투표선정 작품
    • 아방스 추천작
    • 완성 기대작
    • 투표 신청
    • 투표소
    • 투표 결과
  • 강좌
    • 아방스 칼럼
    • 비주얼노벨 강좌
    • 알만툴 강좌
      • MZ 강좌
      • MV 강좌
      • VX Ace 강좌
      • VX 강좌
      • XP 강좌
      • 2003 강좌
      • 2000 강좌
    • 게임메이커 강좌
    • 울프툴 강좌
    • 3D 게임제작 강좌
    • 2D 게임제작 강좌
    • 그래픽 제작 강좌
    • 기타 강좌
  • 질문과 답변
    • 자주 묻는 질문
    • 질문과 답변
    • 제작의뢰
  • 커뮤니티
    • 구인·구직·외주
    • 테스트 요청
    • 자유게시판
    • 게임계 소식
    • 유머&정보
    • 사이트링크
    • 이벤트&대회
  • 창작
    • 게임 기획
    • 맵배치
    • 글쓰기
    • 그리기
    • 음악
  • 자료실
    • 게임제작툴
    • 예제 및 샘플
    • 그래픽 소재
      • 오리지널 소재
      • 이차창작 소재
      • 수정·개조 소재
      • 외부 소재
    • 사운드 소재
    • 확장·플러그인·스크립트
      • MZ 플러그인
      • MV 플러그인
      • Ace 스크립트
      • VX 스크립트
      • XP 스크립트
      • 2k3 플러그인
      • VN 플러그인·확장
    • 외부 소재사이트
    • 기타 자료
      • 한글화툴
      • 무료 폰트
      • 유틸리티
    • 디자인 참고자료
  • 고객센터
    • 공지사항
    • 건의 및 신고
    • 핫 이슈
로그인 회원가입

NOTICE

공지사항
더보기
  • 서버 안정성 및 보안 강화 조치 04.20

Recently Added Games

최근 등록 게임
  • 어드벤쳐 고철에 파묻힌 데모나 (屑鉄まとうデモナ) newfile 08.19
  • 어드벤쳐 비올레 저택의 시온 : 꽃눈의 저택|RPG Maker MZ 단편 심리공포 어드벤처 newfile 08.17
  • 기타 (똥 주의)그저 똥을 누러 가는 게임 Re:Boot updatefile 08.16
  • 롤플레잉 SACCHARINE SYNC (DEMO) 배포 file 08.12
  • 기타 (완성작) 야구장에 가자4 file 2 07.07
Neko:Lua
2009.01.10 12:24

Lua 시작 [펌]

나뚜루
조회 수 7535 추천 수 0 댓글 6
크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제
루아 명령어
and break  do  else  elseif   
end  false  for  function  if   
in  local  nil  not  or   
repeat  return  then  true  until 

while

 

변수작명법

c의 경우는 int 자료형을 가지는 변수 iVal을 만든다면

int iVal = 0; 이라 하겠지만

루아의 경우는... 자료형이 없다. 없다기보다는 모든 자료타입에 맞게 모든 자료타입을

제공한다고 보면 되겠다 vb의 variant형과 같다고 보면된다.

 

즉 루아에서는 iVal = 0 이라고 하면 된다.

 

변수의 초기화

c에서는

int* piVal = &piVal2;

위와같이 대입을 하였을때 piVal을 초기화하려면 NULL을 쓰면된다.

piVal=NULL;

이렇게말이다.

 

루아에서는 nil 있다.

 

루아에서는 변수를 초기화한다면 iVal = nil 이 되겠다.

그러나 정확한 의미는 초기화보다는 삭제에 해당하기 때문에

해당 변수를 새로 만들어주어야한다.

 

ex)

iVal = 32

iVal = nil

print(iVal)

 

요 문장을 실행하면 실행결과는 nil 이라 나온다. (값이 nil 이란 의미가 아니라 변수가 없기때문에 nil)

 

ex-2)

iVal = 32

iVal = nil

print(iVal+1)

 

이라고 실행하면 에러가 난다. 2번째 문장에서 iVal이 삭제되었기때문에

3번째 문장에서 iVal에 1을 더할 수 가 없기 때문이다.

 

ex-3)

iVal = 32

iVal = nil

iVal=0

print(iVal+1)

 

이라고 실행하면 실행결과는 1이 나온다.

3번째 문장에서 iVal을 생성하고 0 을 대입해준걸로 인식되기 때문이다. ㅇㅋ?

 

루아에서의 문자열

루아에서 문자열 은 유연하다.

 

cVal_1 = "가나다라마바사아자차카타파하"

cVal_2 = [[가나다

            라마바

            아자차

            카타파]]

 

print(cVal_1)

print(cVal_2)

 

-result-

가나다라마바사아자차카타파하

가나다

라마바

아자차

카타하

 

지역변수와 글로벌변수

 

function Print_Val()

            iVal = 0

            print(iVal)

end

 

Print_Val()

print(iVal)

 

-result-

0

0

 

함수내에서 iVal이란 변수를 만들고 0 으로 초기화시켰다.

함수호출을 하여 iVal의 내용을 출력하니 0이 나온다.

문제는 함수 외에서 함수내에서 만들어진 변수인 iVal의 값을 출력하니 0이 나온다.

변수가 없었다면 nil이 나왔겠지만 0이 나왓다는건 함수내에서 변수를 만들었다 하더라도

local 을 붙이지 않았다면 global 로 선언된다는걸 알 수 있다.

 

function Print_Val()

            local iVal = 0

            print(iVal)

end

 

Print_Val()

print(iVal)

 

-result-

0

nil

 

이 경우엔 함수내에서 만들어진 변수엔 local 을 붙여줌으로서 함수 외부에서 참조하는걸

막았다 .

 

함수내에서 local로 만들었다고 함수내에선 항상 사용가능한건 아니다.

 

function Print_Val()
        local iVal = 0
        print(iVal)
        if iVal == 0 then 
                local iVal2 = 1 
        end
        print(iVal2)

end

 

Print_Val()

 

-result-

0

nil

 

iVal2는 if 블럭 안에서 생성된 local 변수기 때문에 해당 if 구문 내에서만 사용할 수 있다.

이건 뭐 당연한거다.

lua는 자유로움과 문법적인측면에서 vb를 많이 닮았다.

관계연산자

산술연산자는 뭐 다를수가 없으니 패스, 관계연산자의 경우도 c와 동일하다고보면되나.

"상등" 즉 "같지않다" 에 대한 표현만 다르다.

 

c의 코드라면 if ( 2 != 2)

즉 2가 아니라면 이란 표현이 루아에선

if 2 ~=2 then 으로 쓸 수 있다

 


if 2 ~= 1 then
 print("부등")
end

if 2 == 2 then
 print("상등")
end

-result-

부등

상등

 

제어구조

다른 프로그래밍 언어들과 마찬가지로 조건에 따라서 호출순서 분기를 수정해줄 수 있다.

 

함수

함수는 function 함수명 (넘겨받을 자료) 로 정의할 수 있다.

 

function Get_Sum(iVal1,iVal2)
        return iVal1 + iVal2
end


local iResult = Get_Sum(1,2)

print ( iResult)

 

-result-

3

 

가변인수함수

function Get_Sum(...)
        local iVal=0
        local iLoop =1
      

        while iLoop <= arg.n do
                iVal = arg[iLoop]

                iLoop= iLoop+1
                print(iVal)
       end
end

Get_Sum(1,2,3,4,5,6,7)

-result-

1

2

3

4

5

6

7

출처 : http://blog.naver.com/aozora18/70036810912

0 추천 0 비추천
위로 아래로 댓글로 가기 인쇄 수정 삭제
에디터 선택하기
✔ 텍스트 모드 ✔ 에디터 모드
?
댓글 쓰기 권한이 없습니다. 로그인 하시겠습니까?
Comment '6'
  • ?
    [Dark].Angel 2009.01.12 16:22

    c에서는

    int* piVal = &piVal2;

    위와같이 대입을 하였을때 piVal을 초기화하려면 NULL을 쓰면된다.

    piVal=NULL;

    이렇게말이다.
     참고로...  int* piVal = &piVal2; 은 포인터입니다. 변수와 포인터의 초기화 방법이 다르니깐
    여러분 착각은 하지 말아주세요 ㅎㅎ... 포인터는 연산자를 넣어서 초기화를 하고 NULL로도 됩니다.

    그냥 변수는 이렇게 해두 되죠. int piVal = 0;
    포인터는 NULL로 해주는 거죠.

    루아에서는 nil로 초기화 하는 겁니다.


     

    댓글
  • ?
    레노 2009.01.13 14:22
    문자열 취급이 직관적이고 간편하네요. 굿입니다.
    댓글
  • ?
    네오라인 2009.01.15 16:32

    cVal_2 = [[가나다 
                라마바 
                아자차 
                카타파]]

    를 입력하면

    가나다
    라마바
    아자차
    카타하

    가 나오는군요?!

    수정 삭제 댓글
  • ?
    후르츠파르페 2009.01.21 02:09
    오호.. 명령어가 저게 주로쓰는거 다인가요?
    댓글
  • profile
    NewSet 2009.02.02 15:49
    루어 모르는 1人
    댓글
  • ?
    Jin's 2009.02.25 21:19
    뽕숀하고 리솔트  엔드는 알겟네
    댓글

Category
  • 연시만
  • 연시만2
  • VNAP
  • Vasilriot
  • Nekonovel
    • Neko:기초
    • Neko:응용
    • Neko:Lua
    • Neko:Plug-in
    • Neko:기타
  • Ren'Py
  • 피니엔진
  • TyranoBuilder
  • Visual Novel Maker
  • 기타
List of Articles
분류 제목 글쓴이 날짜 조회 수
Ren'Py 렌파이 관련 유용한 링크 모음 3 file 습작 2012.12.02 18376
Nekonovel 네코노벨 관련 유용한 링크 모음 1 file 습작 2012.11.19 12551
Neko:기타 쓰레드에 '대기' 명령어를 넣었을 때 나타날 수 있는 현상 file 하늘바라KSND 2014.11.27 1172
Neko:응용 네코노벨 미니게임 관련 스크립트-글라스 스노우 하늘바라KSND 2013.06.27 3469
Neko:기초 네코노벨 무작정 따라하기 - 2편 : 로고만들기 9 file 습작 2012.12.21 6299
Neko:기초 네코노벨 무작정 따라하기 - 1편 : 둘러보기 2 file 습작 2012.12.08 12807
Neko:Lua 마인크래프트에서 루아언어를 써 Boa요! 2 철쭉 2012.07.21 4277
Neko:Lua Lua for Windows 1 루아마당 2010.08.08 5694
Neko:Lua LUA 란 무엇인가? 6 루아마당 2010.08.08 7316
Neko:Lua 루아의 메모리 관리 방식 루아마당 2010.08.08 5538
Neko:Lua 루아 스크립트를 1 무뇌인 2010.04.20 6002
Neko:Lua 비쥬얼 C++에 루아 연동시키기- file Saber 2010.01.02 8089
Neko:Lua 좀비서바이벌 1.11b 버전 Lua 스크립트 16 판져중위 2009.11.30 9438
Neko:Lua 루아에 잘못 알고계신분이 있는거 같아서 몇줄 적습니다. 16 코르뉴 2009.09.25 8208
Neko:Lua 루아가뭔가요 10 영웅 2009.09.24 6255
Neko:Lua 루아스크립트란 무엇인가? 9 행운 2009.06.11 8536
Neko:Lua 루아가 뭐죠? 11 sooe 2009.06.09 7295
Neko:Lua 루아에 대하여 궁금한점 18 아하!잘봤어요. 2009.05.04 7220
Neko:Lua 루아의 재미있는 기능! 15 엠피군 2009.01.18 7764
Neko:Lua 루아 스크립트 기초 강좌 2부 5 백호 2009.01.12 7847
Neko:Lua 루아 스크립트 기초 강좌 1부 6 백호 2009.01.12 13732
Neko:Lua Lua 시작 [펌] 6 나뚜루 2009.01.10 7535
쓰기
Board Pagination Prev 1 2 Next
/ 2
AVANGS

게임 제작, 창작, 자료, 강좌를 연결하는 커뮤니티

  • 개인정보 취급방침

Copyright © 2026 Avangs