В моем коде мне нужно нажать int на стек Lua. Я знаю о lua_pushnumber для C, но что будет использоваться в LuaJ? Я не могу найти для него функцию, учитывая, что LuaJ не ясно, какие функции представляют определенные C-функции.Нажатие int с помощью LuaJ
1
A
ответ
1
LuaJ реферат, как управление стеком. Поэтому, если вы пытаетесь вызвать функцию Lua, вам не нужно вставлять значения в стек. Просто запустите функцию Lua как переменную LuaFunction
и вызовите ее с помощью метода invoke
. Чтобы вернуть несколько значений из функции Java, зарегистрированной в Lua, вы должны вернуть объект Varags
. Вы вкладываете в это несколько значений.
Должно быть, я делаю что-то неправильно. Я получаю сообщение об ошибке «попытка индексирования? (Значение nil value)», когда я пытаюсь получить доступ к значению из сценария. До сих пор я настроил его так: В сценарии есть строка, которая гласит: «yes = sendYesNo (« test »);», которые получают привязкой к классу TwoArgFunction, который считывает введенный текст, отправляет некоторые данные для клиента и настраивает сопрограмму, чтобы дождаться, когда пользователь отправит информацию обратно на сервер. Когда информация возвращается, она обрабатывается в другом классе, и именно здесь я бы подумал, что потребуется нажать на стек. В пределах ... – PuppyKevin
... Класс 2ArgFunction, который я установил, он просто возвращает LuaValue.ONE, несмотря на то, что ошибка все еще наступает. Что я делаю не так? – PuppyKevin
@PuppyKevin: Можете ли вы поместить свой фактический код (Java и код Lua) в сообщение, чтобы мы могли понять, что вы делаете? –