Dưới đây là những gì tôi có cho đến nay ... Nó tạo ra bảng toàn cầu gọi là "mod", nhưng tôi dường như không thể thêm các chỉ số để bàn ...Làm cách nào để tạo bảng trong Lua, sau đó thêm giá trị từ API C?
lua_newtable(L);
lua_setglobal(L,"mod");
Dưới đây là những gì tôi có cho đến nay ... Nó tạo ra bảng toàn cầu gọi là "mod", nhưng tôi dường như không thể thêm các chỉ số để bàn ...Làm cách nào để tạo bảng trong Lua, sau đó thêm giá trị từ API C?
lua_newtable(L);
lua_setglobal(L,"mod");
Các manual nói:
void lua_setfield (lua_State *L, int index, const char *k);
Có tương đương với
t[k] = v
, trong đót
là giá trị tại chỉ mục hợp lệ đã cho vàv
là giá trị ở đầu ngăn xếp.Chức năng này bật giá trị từ ngăn xếp.
Vì vậy, chính xác hơn: Đẩy bất kỳ thứ gì bạn muốn thêm vào ngăn xếp, sau đó gọi lua_setfield
. Ví dụ:
lua_pushnumber(L, 42);
lua_setfield(L, -2, "answer_to_life_universe_and_rest")
Điều này chèn trường "answer_to_life ..." với giá trị 42
vào bảng.
Nó làm phát sinh lỗi ... –
'lua_pushnumber (L, 42); ' – lhf
nvm: P Tôi có các dòng hỗn hợp –