Thinking Different




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
// cmd.cpp : 콘솔 응용 프로그램에 대한 진입점을 정의합니다.
//
#include "stdafx.h"
 
// 루아 라이브러리 추가
#pragma comment(lib, "lua5.1.lib")
 
// 루아 헤더파일 인클루드
extern "C" {
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    char buf[256] = {0,};
 
    // Lua State 생성 및 열기
    lua_State *L = luaL_newstate();
    luaL_openlibs(L);
 
    // 루아 버전 릴리즈 정보들 출력
    printf("Lua Version : %s\n", LUA_VERSION);
    printf("Lua release version : %s\n", LUA_RELEASE);
    printf("%s\n%s\n", LUA_COPYRIGHT, LUA_AUTHORS);
 
    // 루아 콘솔에서 반복하면서 사용자 입력을 받아 처리
    while(true)
    {
        printf("> ");
        fgets(buf, sizeof(buf), stdin);
 
        // quit 이면 종료
        if(strcmp(buf, "quit\n") == 0)
            break;
 
        // 사용자 입력을 lua state에 넣는다
        luaL_loadbuffer(L, buf, strlen(buf), "console");
 
        // 실행한다
        lua_call(L, 0, 0);
    }
 
    // lua state에 할당된 모든 자원들을 해제한다
    lua_close(L);
 
    return 0;
}

 

실행한 결과 화면


'프로그래밍 언어 > Lua' 카테고리의 다른 글

6. 루아 함수편  (0) 2009.09.02
5. 루아 제어문편  (0) 2009.09.02
4. 루아 연산자편  (0) 2009.09.02
3. 루아 변수편  (0) 2009.08.31
2. 루아로 찍어보자 "Hello, World!"  (2) 2009.08.31