Описание тега lua-api
Anything related to Lua C Application Programming Interface (Lua C-API).
2
ответа
При написании обращенной к Lua функции в C, каков хороший способ проверить, поддерживает ли аргумент поиск в виде таблицы?
Вот потенциальный шаблон, который может проверить, является ли аргумент таблицей: int my_fn(lua_State *L) { luaL_checktype(L, 1, LUA_TTABLE); // .. do stuff with the table .. } Это работает всякий раз, когда первый аргумент является таблицей. Однако…
25 сен '15 в 22:43
2
ответа
Как вернуть список значений из Lua в C и распечатать их одно за другим?
Я использую C API, встроенный в Lua. Моя цель состоит в том, чтобы: передать массив целых чисел в Lua и вычислить их факториалы, затем результаты передать обратно в C и распечатать. Чтобы реализовать цель, мой C-код: #include <lua.h> #include …
02 окт '15 в 15:40
1
ответ
Компиляция Love 2D Xcode: неопределенные символы для архитектуры
Как я могу получить эти "символы", распознаваемые компилятором, когда я компилирую C++ в xcode. вот ошибки (у меня есть ощущение, что игнорирование фреймворков, а затем дает ошибки для отсутствующих фреймворков) ld: warning: ignoring file /Developer…
06 июл '12 в 06:00
1
ответ
Читать таблицу Lua из C
Я пытаюсь передать таблицу Lua в мою C-программу, но я не знаю, как это сделать. Мой код Lua: local stages = {} stages[1] = stage1 stages[2] = stage2 stages[3] = stage3 lstage.buildpollingtable(stages) Мой код C: static int lstage_build_polling_tabl…
29 окт '14 в 01:19
1
ответ
Как вызвать функцию библиотеки по ее имени и установить ее параметры
У меня есть библиотека функций, определенных в моем коде C: static const struct luaL_reg SelSurfaceLib [] = { {"CapabilityConst", CapabilityConst}, {"create", createsurface}, {NULL, NULL} }; static const struct luaL_reg SelSurfaceM [] = { {"Release"…
26 янв '17 в 23:52
1
ответ
Извлечение пользовательских данных из таблицы, используя API lua c
Я использую lua c api для зацикливания переменных в таблице, как это скрипт lua: array = {0,1,2,3} Луа с апи lua_getglobal(l, "array"); if(lua_isnil(l, -1)) { } lua_pushnil(l); while(lua_next(l, -2)) { int value=(int)lua_tonumber(l, -1); printf("%d …
15 фев '15 в 05:45
1
ответ
Перемещение таблицы lua в C api
Я пытаюсь переместить стол на другой стол, используя lua C api. Например, у меня есть таблица с этой структурой: a[b][c][d][e] = value Я хочу переместить таблицу d, чтобы она была под a[b], что я мог бы выполнить в Lua следующим образом: a[b][d] = a…
20 июн '13 в 19:32
1
ответ
Доступ к массиву пользовательских данных Lua и методы
Я пишу в C тип userdata для использования в Lua. Он также имеет некоторые свойства типа массива и различные методы. Прямо сейчас, если вы такого типа, я использую u:set(k,v) соответственно u:get(k) для доступа к данным и, например, u:sort() как мето…
17 ноя '14 в 10:15
2
ответа
Почему деструктор объекта C++ не вызывается при вызове luaL_error?
У меня есть такой код class Test { public: Test() {printf(">>> Test()\n");} ~Test() {printf(">>> ~Test()\n");} } int myFunc(lua_State *L) { Test t; luaL_error(L, "error"); return 0; } Я знаю, когда lua соблюдает c complier, он испо…
28 апр '14 в 09:09
1
ответ
lua_Integer и lua_createtable (ограничение размера таблицы)
В Lua 5.3 связанные с таблицей функции в C API получают и возвращают lua_Integer, void lua_rawgeti (lua_State *L, int idx, lua_Integer n); void lua_rawseti (lua_State *L, int idx, lua_Integer n); lua_Integer luaL_len (lua_State *L, int index); Но, l…
11 янв '15 в 03:48
1
ответ
Как создать таблицу Lua с именем C-API
Как создать таблицу Lua из C-API следующим образом: TableName = {a, b, c} Как установить имя таблицы? Я только знаю, как создать таблицу и поставить значения, но не знаю, как установить имя таблицы. Код для создания таблицы без имени: lua_createtabl…
16 июн '16 в 13:11
1
ответ
Время жизни объекта Lua, "глобально возвращенного" в C
Итак, у меня есть очень простой скрипт Lua, подобный этому: return coroutine.create(function () coroutine.yield(1) end) А потом в CI запустить его и получить возвращенное значение lua_State* l = luaL_newstate(); if(luaL_dostring(l, script) == LUA_OK…
08 фев '18 в 06:54
1
ответ
Создание свойств и методов Lua C++
Это довольно сложно объяснить, и я не смог найти ничего по этому поводу в документации или где-либо еще в сети, поэтому я подумал, что это подходящее место для этого вопроса. Я пытаюсь зарегистрировать свойства и методы объекта в Lua, используя C++.…
07 авг '14 в 15:13
1
ответ
Как создать модуль Lua внутри модуля Lua в C?
У меня есть Actor что я хочу дать Script, Вместо того, чтобы иметь несколько общих объектов, я хотел бы иметь один модуль верхнего уровня, который включает в себя свои собственные зависимости. Другими словами, я хочу быть в состоянии сделать это: Ac…
19 сен '15 в 22:26
1
ответ
Как мне скомпилировать код, который использует C API Lua 5.1?
У меня есть код, который #include файлы lua.h, lapi.h, lualib.h, а также lauxlib.h из источника Луа. Теперь мне нужно скомпилировать этот код. Моя первая мысль состоит в том, чтобы включить все .c файлы в исходном коде Lua или просто выяснить, какие…
05 окт '18 в 23:58
1
ответ
Lua API push userdata
Я пытаюсь дать возможность сценариев для моей системы компонентов. Конечно, каждый компонент имеет поле "родитель", которое содержит доступ к родительскому актору. Я могу написать код, чтобы получить доступ к своим методам C++ из Lua, но я застрял, …
23 июл '14 в 15:20
3
ответа
Вложенные вызовы lua_CFunction
Каков наилучший способ справиться с вложенными вызовами lua_CFunction? Предположим, у меня есть две функции, подобные этой: static int function2(lua_State *L) { int i = luaL_checkint(L, 1); /* do something */ return 1; }; static int function1(lua_St…
17 ноя '14 в 22:08
2
ответа
Получение значения массива из индекса с использованием Lua C Api
У меня есть этот массив: a = {{4,2,2,6}, {2,1,1,2}} Как я могу получить индекс из этого массива в C-программу? Например: a[1] -- {4,2,2,6} a[1][2] -- 2
14 авг '14 в 01:58
0
ответов
Есть ли способ отличить замыкание Lua от замыкания C?
Есть ли способ узнать через Lua C API, является ли значение функции замыканием Lua или C? Первое, что пришло мне в голову, было lua_type функция, но, видимо, он может только сказать, если что-то является функцией. Причина, по которой я спрашиваю, в …
25 мар '17 в 05:03
0
ответов
Лучше ли использовать несколько состояний или сред в Lua?
У меня есть программа со сценариями, и в настоящее время я использую несколько состояний для разных сред, чтобы пользовательские и системные сценарии не связывались друг с другом. Каковы плюсы / минусы использования нескольких сред против одного кон…
15 янв '15 в 22:46