Нет консольного вывода при запуске программы LuaJava Hello, World - PullRequest
3 голосов
/ 03 апреля 2012

Я начинаю изучать использование скриптов Lua на Java через LuaJava;моя IDE - Eclipse.

Но когда я выполняю этот простой фрагмент Hello World, в консоли Eclipse ничего не выводится.

Взял фрагмент кода из здесь

package com.cpg.lua;

import org.keplerproject.luajava.LuaState;
import org.keplerproject.luajava.LuaStateFactory;

public class Hello
{
public static void main(String[] args)
{ 
  LuaState luaState;
  luaState = LuaStateFactory.newLuaState();
  luaState.openLibs();
  luaState.LdoFile("hello.lua");
  luaState.close();
}
}

hello.lua

function hello()
    print("Hello World from Lua!") 
end

hello()

Но приведенный ниже скрипт отлично работает.

hello2.lua

print("Hello World from Lua!") 

Кто-нибудь знает, почему скрипт с определением функции внутри ничего не делает при вызове из Java, но при запуске через консоль работает отлично?

1 Ответ

2 голосов
/ 03 апреля 2012

Я не пробовал и не видел функцию с таким названием.Но вы можете вызвать функцию hello() из Java следующим образом:

LuaState l = LuaStateFactory.newLuaState();
l.doFile("main.lua");
l.getGlobal("hello");
l.call(0, 0);
...