사용자 도구

사이트 도구


kb:luaauxapicode

LuaAuxApi/Code

코드 로드 및 실행

luaL_loadfile

int luaL_loadfile (lua_State *L, const char *filename);

주어진 이름의 파일을 로드해서 청크를 생성한다. 파일 이름을 NULL로 주면 표준 입력(stdin)을 사용한다.

내부적으로 lua_load 함수를 사용하기 때문에, 무사히 파싱이 끝난 경우에는 파싱한 청크를 스택에다 푸쉬하고, 0을 반환한다. 뭔가 에러가 생긴 경우에는 0이 아닌 값을 반환하고, 스택에다 에러 메시지를 푸쉬한다.

luaL_loadbuffer

int luaL_loadbuffer (lua_State *L, const char *buff, size_t sz, const char *name);

주어진 이름의 문자열을 파싱해서, 청크를 생성한다. buff는 파싱할 문자열, sz는 문자열의 길이, name은 디버깅을 위한 청크의 이름이다.

내부적으로 lua_load 함수를 사용하기 때문에, 무사히 파싱이 끝난 경우에는 파싱한 청크를 스택에다 푸쉬하고, 0을 반환한다. 뭔가 에러가 생긴 경우에는 0이 아닌 값을 반환하고, 스택에다 에러 메시지를 푸쉬한다.

lua_dofile

int lua_dofile (lua_State *L, const char *filename);

luaL_loadfile 함수와 lua_pcall 함수를 이용해, 주어진 파일을 로드해서 실행한다. 무사히 실행한 경우에는 0을 반환하고, 뭔가 에러가 생긴 경우에는 0이 아닌 값을 반환한다.

lua_dobuffer

int lua_dobuffer (lua_State *L, const char *buff, size_t sz, const char *n);

luaL_loadbuffer 함수와 lua_pcall 함수를 이용해, 주어진 문자열을 로드해서 실행한다. 무사히 실행한 경우에는 0을 반환하고, 뭔가 에러가 생긴 경우에는 0이 아닌 값을 반환한다.

lua_dostring

int lua_dostring (lua_State *L, const char *str)

0으로 끝나는 C 문자열을 인수로 받아, lua_dobuffer 함수를 호출한다. 디버깅을 위한 이름은 C 문자열 자체가 된다.

int lua_dostring (lua_State *L, const char *str) {
    return lua_dobuffer(L, str, strlen(str), str);
}

lua_dobuffer 함수를 호출할 뿐이므로 당연히 무사히 실행한 경우에는 0을 반환하고, 뭔가 에러가 생긴 경우에는 0이 아닌 값을 반환한다.


kb/luaauxapicode.txt · 마지막으로 수정됨: 2014/11/07 10:00 (바깥 편집)