Вопросы с тегами [lua]

0

голосов
0

ответ
5

Просмотры

Изменение значений в таблице с использованием coronaSDK в Lua

Я сделать игру, используя CoronaSDK и у меня есть вопрос, у меня есть таблица с 72 индексов и другую таблицу с 6 я должен удалить последние 72 индексов и «PREPEND» 6 в другой таблице переменных: - Blocklist (имеет 72) - Extraline (имеет 6) Я пытаюсь сделать это: функции совет: addExtraLine () - изменение последней до последнего 6 до 6 для г = 12 * 6, 7, 1 сделать self.blockList [я] = self.blockList [I-6] конец - Это не работает для г = 1, 6, 1 сделать self.blockList [I] .value = self.extraLine [I] .value + 0 self.blockList [I] .y = 1 конец self.extraLine = {} конец Я думаю, что я меняю указатель C вместо значения, но я понятия не имею, как я могу это исправить. Кто-то может мне помочь?
Renato Cassino
1

голосов
2

ответ
58

Просмотры

Элемент таблицы становится нулевым, после того, как он установлен в целое число

Я пытаюсь сделать систему Basic Entity компонентов, и я получил эту ошибку на моих Lua скриптов (работа с Love2D). Я не знаю, где проблема: Ошибка: systems.lua: 11: плохой аргумент # 2 к «прямоугольником» (номер и ожидалось, получил ноль) main.lua локальная система = требуется «системы» функция love.load системы () .newPlayer () конец функции love.draw () system.drawPlayer () конец systems.lua локальная S = {} = местные субъекты требуют "субъекты" локальные компоненты = требуют "компоненты" функции S.newPlayer () entities.player () конец функции S.drawPlayer () love.graphics.rectangle ( "заполнить", components.getX (1), components.getY (1), 10, 10) конец обратного S entities.lua локальные компоненты = требуют "компоненты" локальный Е = {} функция E.player () components.setX (1,20) components.setY (1,
faniron
1

голосов
1

ответ
417

Просмотры

Как вернуть значение функции из PCALL () в Lua

Мой код (псевдо) функция Foo (CMD) возврата нагрузки (CMD) --Примечание, что это может привести к ошибке, если «Cmd» быть неправильная команда конца функция мычание () возвращает «мычание» конец функции Yoo (что-то) что-то. делать () конец CMD = io.read () --Примечание, что синтаксическая ошибка будет вызывать ошибку в нагрузке. Поэтому я использую PCALL () локальный результат, ошибка = PCALL (CMD) печать (результат) Этот код выглядит хорошо, и работает, но моя проблема в том, если я печатаю в мычание (), то результат будет только показать, является ли или нет команды выполняется без ошибок (Если команда вызывает ошибку, ошибка будет иметь значение). На другой ноте, если я хочу назвать Ю (), я не получить возвращаемое значение, так что я хочу PCALL () 'ы истина / ложь (или альтернативные средства, кроме PCALL ()) Есть ли альтернативный способ вызова мычание (), получить возвращаемое значение, а также быть в состоянии поймать любые ошибки? Примечание: Я не мог найти любую попытку поймать эквивалент других тогда PCALL / xpcall.
GreenHawk1220
1

голосов
0

ответ
187

Просмотры

Корона Obfuscation для Lua скриптов

Когда я попытался распаковать архив коронного из одного приложения, разработанных с помощью Corona SDK, я нашел непонятный код для скриптов Lua как из ниже: функций L0_0.createBgOverlay (A0_8, A1_9, A2_10) местный L3_11 L3_11 = дисплей L3_11 = L3_11.newRect L3_11 = L3_11 (A0_8, _UPVALUE0_.x, _UPVALUE0_.y, _UPVALUE1_, _UPVALUE2_) L3_11: setFillColor (0, 0, 0, A1_9 или 0,3) transition.from (L3_11, {альфа = 0, время = 600, задержка = A2_10 }) Здесь у меня есть два вопроса: 1- как я могу сделать то же самое, чтобы запутать свои Lua скрипты при создании моего приложения с помощью Corona Build. 2- внутри выше коды есть frequen`enter код here`tly использовал следующую переменную _UPVALUE0_, _UPVALUE1 _, _ UPVALUE2_, мой вопрос, что те переменные и сдавшие значения для них.
MobTech
1

голосов
0

ответ
139

Просмотры

Использование .NET CLR в LuaJIT как модуль

Я пишу C / C ++ приложения, которое использует LuaJIT выполнение. В этом время выполнения я хочу, чтобы загрузить .NET библиотеки DLL и вызывать функции / создавать объекты подвергаются им. После долгих исследований я обнаружил некоторые библиотеки, которые могут достичь этого, luainterface, например. Но проблема со всеми этими библиотеками является то, что они требуют выполнения Lua работает в самой .NET. Есть библиотека, которую я могу предпочтительно требовать в качестве модуля, из которого я могу использовать .NET библиотеки DLL?
tversteeg
1

голосов
0

ответ
64

Просмотры

gui.openurl not working (no error)

Следующий код для меню убегания в Garrys мод сервера. Это написано в Lua. Я понятия не имею, что может быть проблема, и я работал на него в течение очень долгого времени. Существует абсолютно не возвращается никакой ошибки. Вот полная вещь: локальная buttonList = {{имя = "Продолжить", обратный вызов = функция (панель) панели: Удалить (); Atomic.pauseUI = ноль; конец}, {имя = "Меню", обратный вызов = функция (панель) панель: Удалить (); gui.ActivateGameUI (); Atomic.showDefaultMenu = истина; Atomic.delayCheck = TRUE; конец}, - [[{Name = "Настройка", вызов = функция (панель) // панель: Удалить (); конец}, -]] {имя = "Правила", Обратный вызов = функция (панель) gui.OpenURL ( "https://steamcommunity.com/linkfilter/?url=https://facepunch.com") конца; }, {Имя = "Отключить", обратный вызов = функция (панель) RunConsoleCommand ( "разрыв"); конец } };
1

голосов
1

ответ
54

Просмотры

Вставка печати в таблицу

В настоящее время я пытаюсь использовать table.insert для вставки печати в таблицу мой код ниже: локальная MYTABLE = {} table.insert (MYTABLE, печать ( «привет»))
Nicholas Johnson
1

голосов
1

ответ
70

Просмотры

Lua: выполнять функцию, когда веб-сервер работает

У меня есть вопрос, из-за небольшой проблемы. Я новичок и работать с Lua и ESP8266 12-E. Я использую пример из randomnerdtutorials, который контролирует цвет светодиодов с помощью веб-сервера. В то же время я могу контролировать светодиодные цвета с узлом-красный цвет. Проблема заключается в том, что я хотел бы написать программу, которая держит выцветания светодиодов разных цветов. Я написал цикл, который увеличил collors от 0 до 999. Цикл находится в функции, которая вызывается из узла-красного цвета. В этом для цикла в WHAS ESP сброса в приблиз. подсчетом 500. Из того, что я прочитал, я понимаю, что для цикла и веб-сервер ждет входов должен работать одновременно. Может кто-нибудь дать мне подсказку, как я мог это сделать. Я могу прервать цикл, но я не могу вернуться с веб-сервера, поскольку нет никакой цикл, в котором я могу поместить команду. Я надеюсь, что мой английский понятно. Это мой код: dofile ( "anmeldedaten.lc") функция привела (г, г, б) pwm.setduty (5, г) pwm.setduty (6, г) pwm.setduty (7, б) конец pwm.setup (5, 1000, 1023) pwm.setup (6, 1000, 1023) pwm.setup (7, 1000, 1023) pwm.start (5) pwm.start (6) pwm.start (7) г = 0 г = 0 Ь = 0 fade1 = 1 IC = 0 --internal счетчик = 0 мкг - глобальный счетчик fade1on = 0, если SRV ~ = нулю, то SRV: близко () конец SRV = net.createServer (net.tcp) SRV: слушать ( 80, функция (Conn) соппы: на ( "получить", функция (клиент, запрос) локальные ЬаЯ = ""; ЬиЙ = ЬиЙ .. "HTTP / 1.1 200 OK \ г \ п \ г \ п" локальное _, _ , метод, путь, вары = string.find (запрос, "([AZ] +) (+) (+) HTTP.?."); если (метод == ноль), то _, _, метод, путь = строка .find (запрос, " затем мкг = 0 IC = 0 fade1on = 1 замирание () конец печать (г, г, Ь, fade1) конечный клиент: отправить (БУФЫ); сопп: на ( "отправлено", функция () клиента: близко () конец) collectgarbage (); конец) конца) Функция замирание () для IC = 0,999,1 сделать г = IC главе (г, г, б) печать (г) конец конец
bellibelson
1

голосов
0

ответ
40

Просмотры

Как я могу взаимодействовать с моей веб-сервер от Lua?

У меня есть веб-сервер XAMPP работает, а также MySQL работает. У меня есть сайт, который взаимодействует с моей базой данных, но мне было интересно, как я бы идти о взаимодействии с моей базой данных с HTTP-запросами, в моем случае через Lua. Любые примеры или учебники вы указать мне было бы здорово, спасибо.
Bread10
1

голосов
1

ответ
145

Просмотры

Передайте указатель строки в Lua

У меня длинные строки в C, и я хочу передать это Lua функции. но обусловленно строка долго я не хочу передать его, я хочу передать указатель строки в Lua. Я делаю это использование lua_pushlightuserdata но в Lua я не могу использовать этот указатель. С код: символ * й = "abcdefghijklmnopqrstuvwxyz1234567890"; lua_getglobal (myLuaState, "кк"); lua_pushlightuserdata (myLuaState, ул); lua_pcall (myLuaState, 1, 0, 0); Lua код: функция кк (а) печать (а) конечный результат код: пользовательские данные: 0x41b4d8
sharafi
1

голосов
1

ответ
64

Просмотры

Как установить длину вызова функции записи файла в Lua?

Я использую встроенный Lua, который предоставляет интерфейс для доступа к некоторым данным в C. В частности, она получает блобы изображения в сырых байтах. Я знаю, размер исходных данных, и я хотел написать эту каплю на диск. Тем не менее, я не могу понять из пакета Io Lua, как писать данные заданной длины. Как установить количество байт, что вызов записи будет потреблять?
Matt
1

голосов
0

ответ
42

Просмотры

сохранить файл из URL-адреса Lua убунту

Я хочу скачать mp3 файл из UTL и сохранить его в папку. Это мой код: местный звук = HTTPS.request ( 'https://hozory.com/translate/?target='..matches [1] ..' и текст =».. текст) местный голос = JSON: декодирование ( звук), если voice.result.Voice_link ~ = "ложь", то локальный е = утверждает (io.open ( 'test.mp3', 'ж')) е: записи (voice.result.Voice_link) е: близко () Но это создает пустой файл mp3.
Shafiq Sadat
1

голосов
1

ответ
161

Просмотры

GSUB с плюс / минус символ

Я пытаюсь преобразовать исходный текст в читаемую страницу HTML. Код, который я попробовал: локальная NewStr = string.gsub (ул, "±", "±") локальная NewStr = string.gsub (ул, "% ±", "±") Тем не менее, характер показывает, как на выходе. Я не могу найти любую другую документацию о том, как справиться с этим конкретным особым характером. Как обрабатывать этот символ при чтении, так что он будет выводить правильно? Edit: После попытки предложения я могу определить это: локальная функция sanitizeheader (ул), если не (ул), а затем вернуться "" конец str2 = "Глубина ±" местного NewStr = string.gsub (str2, string.char (177) , «±») возвращает NewStr конца в тестировании, если я использую str2 ± показывает вверх на выходе. Однако, когда я пытаюсь использовать ул, как она передается из чтения файла Excel, Безразлично»
Sorean
1

голосов
0

ответ
115

Просмотры

Proxy_pass with two variables

Мне нужно сделать proxy_pass с двумя переменными $ ф и $ порта. Эти две переменные поступают из блока Lua: местоположение / тест / {default_type «текст / обычный»; установить $ ф «»; установить $ порт «»; content_by_lua_block {локальный IP = ''; локальный порт = «»; ... ngx.var.ip = ф; ngx.var.port = порт; } Proxy_set_header X-Forwarded-за $ remote_addr; перепишем ^ / подключить /(.*) / $ 1 перерыв; proxy_pass HTTP: // $ ф: $ порт; } Когда я делаю это я получаю ошибку 500. Но когда я не хожу через Lua и тест без ввода переменной в proxy_pass, он хорошо работает: расположение / тест / {default_type «текст / обычный»; установить $ ф «»; установить $ порт «»; content_by_lua_block {локальный IP = ''; локальный порт = «»; ... ngx.var.ip = ф; ngx.var.port = порт; } Proxy_set_header X-Forwarded-за $ remote_addr; перепишем ^ / подключить /(.*) / $ 1 перерыв; proxy_pass http://127.0.0.1:8008; }
Floriane
1

голосов
0

ответ
60

Просмотры

Exposing correct factory classes to lua

Так что я пишу заводскую систему для создания объектов и использования Lua, чтобы назвать их. однако я изо всех сил, чтобы выяснить, как подвергать их Lua с помощью luaBridge. У меня есть шаблон фабрики: шаблон {T * создать (имя Id) {} ​​аннулируются регистр (Id имя, BaseCreator * FUNC)}} станд :: Карта FunctionMap; } Функция регистра называет унаследовал шаблон создать класс, который является производным от виртуального создания для создания объектов определенного типа, который является производным от базового объекта. Класс BaseObject {виртуальная пустота привет () = 0;} класс DerivedObject: общественные BaseObject {недействительными привет ()} Класс шаблона BaseCreator {виртуальный Т * создать = 0; } Шаблонного класса DerivedCreator {Base * Создать () {вернуть новый полученным; }} В C ++ завод используется следующим образом: Фабрика objMap; objmap.register ( «Obj1», новый DerivedCreator; BaseObject * Temp = objMap.create ( «obj1») Должен ли я подвергать виртуальные базовые классы, такие как BaseObject и BaseCreator в Lua для того, чтобы я создавать свои производные типы с помощью Lua ? Я попытался это и я получаю ошибку о создании абстрактного объекта. есть ли способ обойти это, если у меня есть, чтобы выставить бас классов или есть другой язык сценариев больше подходит для работы с этой задачей? Должен ли я подвергать виртуальные базовые классы, такие как BaseObject и BaseCreator в Lua для того, чтобы я создавать свои производные типы с помощью Lua? Я попытался это и я получаю ошибку о создании абстрактного объекта. Есть ли способ обойти это, если у меня есть, чтобы выставить бас классов или есть другой язык сценариев больше подходит для работы с этой задачей? Должен ли я подвергать виртуальные базовые классы, такие как BaseObject и BaseCreator в Lua для того, чтобы я создавать свои производные типы с помощью Lua? Я попытался это и я получаю ошибку о создании абстрактного объекта. Есть ли способ обойти это, если у меня есть, чтобы выставить бас классов или есть другой язык сценариев больше подходит для работы с этой задачей?
yik
1

голосов
1

ответ
43

Просмотры

Add non-walkable endPos in Jumper pathfinding module for lua

Я использую модуль поиска пути «Jumper» с Corona SDK. Я бегу в проблему, где, например, мне нужно, чтобы переместить блок в здание. Здание плитка устанавливается не-пешеходу, а это означает, что его проходимое значение = 1 или нет 0 Таким образом, в этом случае следопыт не возвращает значение, поскольку он не принимает, что endPos не является проходимой. Вот функция GetPath от самого модуля: --- вычисляет `path`. Возвращает `path` от местоположения __ [StartX, startY] __ на место __ [EndX, Endy] __. - Оба места должны существовать на карте столкновения. Исходное положение может быть unwalkable. Недопустимое или недоступно местоположение [% d,% d] '): формат (EndX, Endy)) локальная _endNode = Искатели [self._finder] (сам, startNode, endNode, зазор, toClear), если _endNode затем вернуть Utils.traceBackPath (Self , _endNode, startNode) конец возврат ноль конец я попытался удалить часть утверждать, где она проверяет, если endPos является проходимым, но это ничего не делать. Что мне нужно, чтобы добавить endPos в пути, даже если это не-проходимое Я не очень хорошо на алгоритмах, так что если кто-нибудь знает, как добиться этого, я был бы признателен. startNode) конец возврат ноль конец я попытался удалить часть утверждать, где она проверяет, если endPos является проходимым, но это ничего не делать. Что мне нужно, чтобы добавить endPos в пути, даже если это не-проходимое Я не очень хорошо на алгоритмах, так что если кто-нибудь знает, как добиться этого, я был бы признателен. startNode) конец возврат ноль конец я попытался удалить часть утверждать, где она проверяет, если endPos является проходимым, но это ничего не делать. Что мне нужно, чтобы добавить endPos в пути, даже если это не-проходимое Я не очень хорошо на алгоритмах, так что если кто-нибудь знает, как добиться этого, я был бы признателен.
Abdo23
1

голосов
1

ответ
183

Просмотры

Как получить текущую глубину стека вызовов функций в Lua?

Я хочу, чтобы эффективно получить текущий стек вызовов функций, Есть ли апите или СТГ, чтобы сделать это? Я попробовал метод, как это, но слишком медленно. локальная функция GetStackDepth () локальная глубина = 0 в то время как верно делать, если не debug.getinfo (3 + глубины), затем перерыв глубину конца = глубина +-Конечной глубину возврата конца редактирования: Действительно проблема заключается в написании Im инструмента профилирования и отладки с использованием. sethook сделать вызов в н и вернуть событие. но на lua5.1 или Lua-JIT ситуации, когда хвост возвращение СЛУЧИЛОСЬ я получил два события вызова и только один возврат события, как это: вызов ------ 1-й событие вызова вызова возврата поэтому мое решение этой проблемы получить глубина стека вызовов текущего события, на обратном случае, когда глубина меньше глубины мероприятия 1-й конкурс, я знаю его хвост возврата, то я могу справиться с этим правильно. Но я нашел GetStackDepth () его самостоятельно стоит много времени (слишком медленно), которые влияют на результат профилировщика. я не могу изменить версию Lua.
Omega.yue
1

голосов
0

ответ
65

Просмотры

How to fix an error in a function? Corona SDK

У меня есть функция под названием CreateGround, она создает поверхность под игрока, и если он уже существует на участке земли, она движется вдоль оси х по ширине платформы. Но по какой-то причине не работает для меня, и я хотел бы понять, понять и исправить ее. Вот мой код: локальная функция createGround () локальная земля = display.newImageRect (mainGroup, objectSheet, 3, 390, 265) ground.x = 195 ground.y = Ус + (Ус * 0,9) physics.addBody (земля, «статический ") table.insert (groundTable, земля) конец локальную функцию groundUpdater () createGround () для г = #groundTable, 1, -1 сделать локальный thisGround = groundTable [I] печать (thisGround) локальная otherGround = groundTable [I-1] если (thisGround.x == otherGround.x), то otherGround.x = otherGround.x + 390 конец, если (thisGround.x>
TreShk0
1

голосов
1

ответ
203

Просмотры

Тестирование Lua OpenResty

Как я могу издеваться объект NGX и проверить мои Lua файлы? Например, предположим, что у меня есть - file.lua функция computeUpstream () - дополнительные расчеты! вернуться theCalculatedUpstream конец ngx.var.upstream = computeUpstream () И я хочу, чтобы проверить этот файл. Как я могу это сделать?
Kousha
1

голосов
1

ответ
293

Просмотры

init.lua: 389: модуль 'hdf5' не найден: Нет LuaRocks модуль найдено hdf5

когда требуют "hdf5" Я встретил ошибку следующим образом: / Главная / XUS / факел / установить / bin / LuaJIT: /home/xus/torch/install/share/lua/5.1/trepl/init.lua:389: модуль 'USR / местные / hdf5' не найден: нет LuaRocks модуль не найдено для USR / местные / hdf5 нет поля package.preload [ 'USR / местные / hdf5'] нет файла «/home/supermicro/.luarocks/share/lua/5.1 /usr/local/hdf5.lua '... нет файла '/usr/local/lib/lua/5.1/usr/local/hdf5.so' нет файла' /usr/local/lib/lua/5.1/loadall. так что»стек отслеживающий: [C]: в функции„ошибки“/home/xus/torch/install/share/lua/5.1/trepl/init.lua:389: в функции„требуется“prepro_img.lua: 10: в главной кусок [с]: в функции 'dofile' ... / XUS / факел / установить / Библиотека / luarocks / камни / trepl / SCM-1 / бен / е: 150: в основной порции [C]:в 0x00405d50 Любой человек может помочь мне решить эту проблему?
XSCS
1

голосов
1

ответ
56

Просмотры

Сформировать список всех возможных замен

Я не знаю, как название на этот вопрос, но это то, что я пытаюсь выполнить: Функция, которая принимает строку и возвращает список всех возможных комбинаций для замены вхождений! в этой строке с Любой. Пример: gen_combinations ( '(тест с)!') => { '(Тест с!)', '(Проверить любое с!)', '(Тест Любой с любым)', «(тест с любым!) }
1

голосов
1

ответ
46

Просмотры

2D Массивы в LUA не представляется возможным в цикле?

По какой-то причине, я застрял на эту проблему в течение веков. Я не могу работать, как определить сетку [я], не сбрасывая все это ценности. Я хочу сделать так, программа проверяет, находится ли точка в 2D массив уже занят, то он не будет размещать блок. Радиус = 10 сетки = {} в то время как верно делать при г = -радиус, радиус делать сетки [I] = {} при = -радиус, радиус делать, если Math.sqrt (Math.pow (я, 2) + Math.pow (к, 2))
TreekoTV
1

голосов
1

ответ
66

Просмотры

Lua не инстанцирование локальных переменный быстро enogh печатать? Embeded ESP8266

Я получил EPS8226, на котором я загрузил файл main.lua и некоторые другие конфиги. Когда я бегу main.lua с dofile () в терминале, печать из функции обратного вызова гравюр только «SensorId» без «послал 0». Тем не менее, если я main.lua снова запустить, или распечатать () что-то перед (либо внутри функции (), которая вызывает функцию обратного вызова, или внутри самого обратного вызова), это будет печатать правильно «SensorId отправлено 0». Это также работает, если я не использую локальную переменную. Функция registerReaders () для ключа, значения в паре (sensorConfig.data) делает gpio.mode (value.pin, gpio.INPUT) value.timer: сигнализация (value.polling, tmr.ALARM_AUTO, функция () callbacks.sendData (sensorConfig .sensorId [ключ]) конец) tmr.create (): сигнализация (1000, tmr.ALARM_SINGLE, функция () callbacks.sendData (sensorConfig.sensorId [ключ]) конец) конец конец печати "
1

голосов
1

ответ
465

Просмотры

Почему я получаю сообщение «Не удается привести значение объекта» при выполнении этой функции в удаленном случае?

Когда я запускаю этот код, отображено сообщение об ошибке «Не удается привести значение объекта» на линии 49 (giveOre: FireClient (oreType.Value)), даже если oreType классифицируется как StringValue. Функция mineOre (ГНР, цель, objTool), если не target.ClassName == «Модель», а затем - // попытаться найти, если цель является действительной, иначе установить цель в качестве родителя цели (запутанные пробами для кого-то) цели = target.Parent конец локальная oreFolder = цель: FindFirstChild ( "OreStats"), если oreFolder затем - // Определение рудных ключевых Vals местного oreHP = oreFolder: FindFirstChild ( "oreHP") местный oreLVL = oreFolder: FindFirstChild ( "OreLVL") местного toolLVL = objTool.stats : FindFirstChild ( "LVL"), если toolLVL и oreLVL то местный _math = toolLVL.Value - oreLVL.Value если _math>
DestinyAwakened
1

голосов
0

ответ
118

Просмотры

Если lua_pcall возвращает ошибку, будут ли еще возвращать значения остались в стеке?

Предположим, я звоню функцию Lua от C, которая возвращает один результат. Если она возвращает ошибку, будет результат все равно будет в стеке? Например, если первый lua_pop в следующем коде существует? если (lua_pcall (L, nArgs, 1, 0)) {lua_pop (L, 1); // это должно существовать? DisplayLuaError (L); вернуться -1; } Еще {INT х = lua_tonumber (L, -1); lua_pop (1); вернуться х; }
James Koppel
1

голосов
0

ответ
638

Просмотры

Как декодировать PDF файл в читаемый формат?

Я хочу, чтобы расшифровать файл PDF, так что я могу использовать / редактировать элементы внутри PDF, я хочу использовать / редактировать их в Lua, так что я должен иметь читаемый формат. Это формат, что мне нужно. % PDF-1,3 ...> поток 2 J 0,57 Вт BT / F1 16,00 Tf ET BT 31,19 794,57 Td (Hello World!) Tj ET endstream endobj 1 0 OBJ
JManKorl
1

голосов
1

ответ
44

Просмотры

используя Lua с C ++ DLL

Я начал использовать C ++ DLL с Lua вместе. Это очень трудно начать. Мне нужна помощь, чтобы работать с таблицами. Я следующий в моем C ++ код: статичный ИНТ forLua_AddTwoNumbers (lua_State * L) {двойной d1 = luaL_checknumber (L, 1); двойная d2 = luaL_checknumber (L, 2); lua_pushnumber (L, D1 + D2); возвращение (1); } И вызывать эту функцию в Lua: R = runfast.AddTwoNumbers (2, 5) Он работает. Как можно сделать то же самое с таблицей следующим образом: LUA таблицы Т = {1 = 20, 2 = 30, 3 = 40}
Kosmonavt
1

голосов
0

ответ
265

Просмотры

Миграция Lua REST microservice к AWS Lambda

На моем проекте у меня есть несколько microservices, написанных на Lua, которые размещены на Heroku. В настоящее время мы мигрируем в AWS и в рамках этой миграции мы ищем пути, как легче мигрируют наши Lua услуг. Я знаю, что мы могли бы взять обычный EC2 для этой цели, но я хотел бы, чтобы попытаться найти какие-то более экономически эффективные решения. Как AWS Lambda по умолчанию не поддерживает Lua язык для написания функций Я заинтересован в том, что это самый простой способ перенести свои существующие услуги Lua для Lambda? Может быть, это имеет смысл попытаться запустить его на некоторые реализации виртуальной машины Java для Lua (как luaj или Rembulan) или это будет лучше просто переписать наши услуги на то, что поддерживаемые AWS Lambda (например, Python или Go)?
Gleb Kosteiko
1

голосов
1

ответ
62

Просмотры

luaL_len отсутствует в Lua 5.1

Я пишу DLL C ++ для моего Lua проекта. Stackoverflow программист Джош Парнелл был очень любезен, чтобы помочь мне. Он дал мне код с luaL_len () внутри. Но я использую программу с Lua 5.1.5, реализованными в нем. luaL_len () отсутствует в этой версии. Это код: статические INT forLua_SumArray (lua_State * L) {// Получить длину таблицы (такой же, как # оператор в Lua) Int N = luaL_len (L, 1); двойная сумма = 0.0; // Для каждого индекса от 1 до п, получим таблицу // значение как число и добавить к сумме для (INT I = 1; я
Kosmonavt
1

голосов
0

ответ
116

Просмотры

ESP8266 NodeMCU - Значение E: M коды для проблем с памятью

Я работаю над адаптацией программы синхронизации в NodeMCU. Программа сообщает использование кучи на последовательную консоль каждую секунду. Куча колеблется от 12360 и 12472, как она работает успешно в течение 15 до 40 минут. Тогда он падает с: E: M 2568 ПАНИКА: незащищенный ошибка в вызове Lua API (не хватает памяти) На момент сбоя, он выполняется из функции tmr.alarm, как это делал в течение всего времени выполнения: tmr.alarm (1, 1000, 1, функция () dofile ( "doloops.lua") конец) doloops.lua увеличивает временные переменные и обновляет дисплей. Он не выполняет никакой сетевой активности. collectgarbage () вызывается в конце каждого цикла (1 раз в секунду) Searching не обеспечивает особенности на Е: М +2568. Что означает число следующих это значит? Могу ли я использовать его, чтобы найти точку, в которой происходит проблема памяти? Какие другие функции NodeMCU может работать асинхронно и использовать память? Есть еще один пул памяти я должен отслеживать в дополнение к node.heap ()?
tim11g
1

голосов
1

ответ
50

Просмотры

Циклические и добавление символов в строку в LUA

Речь идет о Lua / Roblox. (Отказ от ответственности: должны быть совместимы Roblox.) Я массив называется «массив1», и числовое значение «номер», который является 0. локальная массив1 = { «1», «2», «3», «и т.д.»} местный номер = 0 я: в то время как 1 этого ждать (1) - только небольшую задержку между петлями Num = Num + 1 - каждая петлей я увеличивающимся, что «Num» значением с 1 script.Parent.TextLabel.Text = массив1 [число] - Я настройка текста в [число] го (в данном случае 1) из array1. (Я-1, 2, 3, 4 и т.д. слово каждый второй) конец И это работает. Своего рода. Моя проблема в том, что это установка в: «1», а затем только «2», а не «1», а затем «12». Вот некоторое видео проблемы: https://i.imgur.com/d63BoN5.gifv И я не хочу это таким образом. Я хочу ему быть: 1, 12, 123.
NorteX
1

голосов
1

ответ
36

Просмотры

Как извлечь функцию с ее аргументами? Lua код

Я пытался написать несколько Lua кода для поиска Списка всех вхождений макроса я сделал в моем файле .tex и поместить их в конце моего файла. Поэтому я хотел бы, чтобы найти все вхождения «\ Citation {TEXT1} {} {TEXT2 text2}» в строке и возвращает список, содержащий все вхождения в том же формате. У меня есть: выход = {} для ELT в string.gmatch (ул, "\\ Цитирование (% Ь {}% {Ь}%} {Ь)") делают вывод [#output + 1] = ELT конец Но вопрос является то, что он возвращает только text1text2text3 каскадный, а не "\ Цитирование {TEXT1} {} {TEXT2 text2}". Я не очень хорошо знаком с Lua. Если кто-то может мне помочь С уважением,
Michel Migdal
1

голосов
1

ответ
51

Просмотры

Lua время Получение в UTC возвращает местное время в любом случае

Я использую Lua в Игуана (Interfaceware) У меня есть сервер, который находится в AEST часовом поясе, и я стараюсь, чтобы получить время в UTC, как это: ( «! * Т» os.time (os.date ())) след следа (ОС .time (os.date ( '* т'))) след (os.time (os.date ( '!% с'))) Это выход я получаю: Он постоянно возвращается местное время вместо UTC. Я что-то пропустил? Сервер Windows Server 2012.
arleitiss
1

голосов
0

ответ
37

Просмотры

Wireshark 2.6.4 не диссектор Нет такие функции / свойств для типа объекта «TVB»

Скрипт Lua, который работает с Wireshark 2.2.4 и Lua 5.2.4 не работает с Wireshark 2.6.4 и Lua 5.2.4. Ошибка есть: Lua: Ошибка при загрузке: [Путь к сценарию]: [строка]: Нет такой «Foo» функция / свойство для типа объекта «TVB» ошибочную строку в скрипте следующее объявление: функция TVB: Foo (param1, param2, param3) Почему этот сценарий работа с более старой версией Wireshark, но не нынешняя?
Rolland
1

голосов
0

ответ
148

Просмотры

REST API с помощью Civetweb и Lua

Итак, моя задача заключается в разработке веб-приложений с использованием следующих технологий: Угловое на переднем конце, на заднем конце, я буду использовать civetweb в качестве автономного веб-сервера (https://github.com/civetweb/civetweb) и Lua (или C, если Lua не подходит хорошо), Sqlite3 (http://lua.sqlite.org/index.cgi/doc/tip/doc/lsqlite3.wiki) После того, как определенное количество времени тратить на исследования по этой теме ( задний конец сторона), я не уверен, что лучшие практики для этого, из-за того, что я не мог найти полезные примеры, для официальной документации по хранилищу civetweb GitHub кроме. В частности, я не уверен, что это лучший способ: для обработки запросов / ответов, структура коды (основной логический сервер, часть системы, которая находится в ведении работы с базой данных, и т.д.) Я был бы признателен за любые предложения , ссылки на примеры или полезную документацию,
veselinovicst
1

голосов
0

ответ
55

Просмотры

Почему возвращаемое значение с помощью функции в Lua не обновляется?

У меня есть функция следующим образом: функция EXTRACTVALUE (результат) для I, V в парах (результат) делают v1 = v [1]; v2 = v [2]; Конец возврата v1, v2 конец, где я был бы вход что-то вроде этого: результат = findsomething (что-то, что-то); v1, v2 = EXTRACTVALUE (результат); Оповещение (String.Format ( «% F% F», v1, v2)) Это будет выводить то, что правильно, но если бы я повторить тот же код снова с обновленным значением (результат), значение v1 и v2 остались прежними когда он должен быть обновлен тоже. Любая идея, почему? Заранее спасибо!
Gregor Isack
1

голосов
1

ответ
54

Просмотры

Lua: Выполнение быстрых несколько замен в длинных строках

У меня есть список пар шаблон / замены. Длинная строка, чтобы сделать замену на (несколько кбайт или даже мегабайта). Все вхождения всех моделей должны быть заменены соответствующими текстами замены. Каждый шаблон может существовать более чем один раз в строке. В настоящее время я делаю это путем перебора списка пар шаблон / замена и использование string.gsub каждый раз: для _, шаблон, замените в ITER (replace_patterns) у тела = тела: GSUB (рисунок, заменить) конец (ИТЭР является вспомогательная функция лучше перебрать модели). Вопрос: Является ли это лучший способ сделать это? Я боюсь, что это будет неэффективным, так как каждый вызов GSUB будет сканировать всю длинную строку. PS Я прочитал https://stackoverflow.com/a/12865406/5005936 (мне помог уменьшить использование строки и другие) и https://stackoverflow.com/a/38422229/5005936 (но я не»
dsteinkopf
1

голосов
2

ответ
78

Просмотры

Добавление дополнительного «глобального» ключевое слово Lua 5.2 источник

Я хотел бы изменить Lua 5,2 исходный код для обеспечения необязательного «глобального» ключевое слово, чтобы предшествуют глобальных переменных. Ли какой-либо сделал это или кто-нибудь знает, как это сделать (безопасно)? И да, я знаю, что переменные являются глобальными по умолчанию, и что это будет чисто синтаксический сахар. Чтобы было ясно, добавление пользовательских ключевых слов существующих типов прямо вперед. Часть я в недоумении, как безопасно редактировать анализатор (через исходный код C 5,2), так что он отбрасывает или игнорирует новый «глобальный» ключевое слово.
Edwin Skeevers
1

голосов
0

ответ
33

Просмотры

Передача управляющих сигналов на FCEUX эмулятор от MATLAB

Я пытался контролировать gamespeed в FCEUX эмулятор на лету (когда игра запущена). Однако единственный метод, который я знаю, чтобы послать сигнал управления записывает пользовательскую Lua скрипт и загрузить его в начале запуска игры. Однако я не могу найти об этих двух вещах - Может ли скорость в режиме реального времени NES игры обкатки FCEUX эмулятора контролируется? Есть ли другой способ передачи сигналов управления FCEUX эмулятор, за исключением загрузки Lua скрипта в самом начале? Если Lua является единственным вариантом, может MATLAB посылать управляющие сигналы на эмулятор? Edit 1- Я попытался горячие клавиши в эмуляторе для увеличения / уменьшения gamespeed, и он работает хорошо. Несмотря на то, что не хватает контроля мелкозернистого.
Kulbhushan Chand
1

голосов
0

ответ
41

Просмотры

Резервное копирование и восстановление метатаблицы

Хорошо, так что я знаю, как работать с метатаблицей довольно хорошо, но им пытается сделать резервную копию функций игр (с помощью getrawmetatable (игры)) Для примера здесь есть скрипт для отключения функционирования Пинка () в вашей игре местного getrawmetatable = getrawmetatable или debug.getmetatable местного make_writeable = make_writeable или SetReadOnly или changereadonly или change_writeable make_writeable (getrawmetatable (игра), ложные) локальное резервное копирование = getrawmetatable (игра) .__ NAMECALL getrawmetatable (игра) .__ NAMECALL = функция (и, ...) локальный т = ({...}) [выберите ( '#', ...)] локальная упакована = {...} локальная а = {} для г = 1, #packed - 1 сделать [я] = [I упакованную ] конец, если т == 'удар', затем предупреждают ( 'попытку удара на' .. os.time () .. '(' .. ToString (распаковка (а)) .. ')') Вернуть истинную резервную копию конечного возврата и резервное копирование (и, ...) или и [м] (и, распаковать (а)) конец, я знаю, что вы можете восстановить таблицу назад к оригиналу, используя локальный Mt = getrawmetatable (игра) мт .__ NAMECALL = резервное копирование Но есть способ, которым я могу резервную копию всех имен вызовов (в файл или что-то), а затем восстановить их первоначальные функции
iHaxtedU

Просмотр дополнительных вопросов