2012-03-19 1 views
1

В моем коде мне нужно нажать int на стек Lua. Я знаю о lua_pushnumber для C, но что будет использоваться в LuaJ? Я не могу найти для него функцию, учитывая, что LuaJ не ясно, какие функции представляют определенные C-функции.Нажатие int с помощью LuaJ

ответ

1

LuaJ реферат, как управление стеком. Поэтому, если вы пытаетесь вызвать функцию Lua, вам не нужно вставлять значения в стек. Просто запустите функцию Lua как переменную LuaFunction и вызовите ее с помощью метода invoke. Чтобы вернуть несколько значений из функции Java, зарегистрированной в Lua, вы должны вернуть объект Varags. Вы вкладываете в это несколько значений.

+0

Должно быть, я делаю что-то неправильно. Я получаю сообщение об ошибке «попытка индексирования? (Значение nil value)», когда я пытаюсь получить доступ к значению из сценария. До сих пор я настроил его так: В сценарии есть строка, которая гласит: «yes = sendYesNo (« test »);», которые получают привязкой к классу TwoArgFunction, который считывает введенный текст, отправляет некоторые данные для клиента и настраивает сопрограмму, чтобы дождаться, когда пользователь отправит информацию обратно на сервер. Когда информация возвращается, она обрабатывается в другом классе, и именно здесь я бы подумал, что потребуется нажать на стек. В пределах ... – PuppyKevin

+0

... Класс 2ArgFunction, который я установил, он просто возвращает LuaValue.ONE, несмотря на то, что ошибка все еще наступает. Что я делаю не так? – PuppyKevin

+0

@PuppyKevin: Можете ли вы поместить свой фактический код (Java и код Lua) в сообщение, чтобы мы могли понять, что вы делаете? –