lua-api

    1

    1답변

    string.format ("% q", foo_str)은 적절한 이스케이프 문자를 추가하여 Lua 인터프리터로 다시 읽을 수 있도록 문자열 형식을 지정합니다. 이 함수를 사용하여 C-API에서 Lua_Buffer를 포맷하는 가장 좋은 방법은 무엇입니까? 더 일반적으로 C-API에서 문자열. * 함수에 액세스하려면 어떻게해야합니까? lua_pcall ("st

    2

    1답변

    루아에서 프로퍼티로 함수를 푸시 할 수 있습니까? 과 같이 루아에서 그들을 lua_pushcfunction(L,L_Getter); lua_setfield(L, -2, "GetValue"); lua_pushcfunction(L,L_Setter); lua_setfield(L, -2, "SetValue"); 그리고 전화 : 지금 , 내가 그렇게 같

    3

    1답변

    나는 내 게임 엔진을위한 스크립팅 레이어로 작업 중이다. 현재 Script라는 클래스를 사용하여 new라는 "Table"메소드를 추가합니다. 이 함수는 기본적으로 클래스의 인스턴스화 된 복사본을 만들었습니다. 스크립트의 인스턴스가 필요할 때 C API에서이 함수를 호출합니다. function PlayerController:new(o) print('

    3

    1답변

    C가 루아 5.2에서 객체를 참조하는 방법은 reference system을 사용하는 것과 같은 방법입니다. 단, 이러한 참조는 약하며 언제든지 가비지 수집 될 수 있습니다. 즉, 객체의 참조 카운트에 영향을 미치지 않는 현재의 모든 Lua 객체의 레지스트리가 있습니까? 당신은 간접적 인 수준을 도입하여이 작업을 수행 할 수 있습니다

    1

    1답변

    와 루아 라이브러리의 함수를 호출, 그래서 나는 static int my_new(lua_State *L) { printf("test_new"); } LUALIB_API int luaopen_my(lua_State *L) { static const luaL_Reg R[] = { { "new", my_new }

    1

    1답변

    중첩 테이블에 정의 된 값이 있다고 가정합니다. tab["m"]["b"] = {}. 루아에서는 이전 문장으로 정의 할 수 있습니다. C API에서도 가능합니까? 특히 tab, m 등을 개별적으로 푸시하는 대신 단일 문자열 tab["m"]["b"]으로 값을 선택하십시오. 단일 값으로 수행하는 것처럼 (아래 코드와 같이) 밀고 선택하는 것은 효과가 없습니다.

    0

    2답변

    루아의 C API를 사용하여 루아를 확장했습니다. 내 모듈에서 luaL_ref을 사용하여 테이블을 채우고 luaL_unref을 사용하여 필드를 제거하고 싶습니다. 또한 lua_next을 사용하여이 테이블을 반복 할 수 있기를 바랍니다. luaL_unref 때문에 테이블을 반복하는 것이 문제입니다. 루아에서는 초기화되지 않은 테이블 필드가 nil으로 계산되기

    2

    1답변

    루아 C API를 사용하여 테이블을 다른 테이블로 옮기려고합니다. 예를 들면,이 구조를 갖는 테이블을 가지고 I는 아래로,이 테이블 D를 이동할 a[b][c][d][e] = value A [B], 내가 좋아 루아 달성 할 수있는 : a[b][d] = a[b][c][d] a[b][c][d] = nil 내 전류 방법은 스택에 적재되는 A는 [B] [C

    2

    1답변

    내 게임 엔진 용 인터페이스는 HTML 및 자바 스크립트와 비슷한 마크 업 언어와 루아를 사용하여 만들어졌습니다. 따라서 시각적 요소에는 마우스 이동 또는 클릭과 같은 UI 이벤트에 대한 핸들러가 있으며 핸들러가 실행될 때마다 엔진이 컴파일되었는지 여부를 확인하고 그렇지 않은 경우 luaL_loadstring을 통해 컴파일합니다. 요소 복제 또는 할당 (t

    1

    2답변

    나는 루아가이 오류가 발생하는 longjmp를 사용하는 C의 컴파일러에 의해 준수 할 때 내가 아는이 class Test { public: Test() {printf(">>> Test()\n");} ~Test() {printf(">>> ~Test()\n");} } int myFunc(lua_State *L) { Test