当前位置: 首页 > 工具软件 > LuaJ > 使用案例 >

LuaJ-01 使用java加载lua脚本、java调用lua方法

喻元龙
2023-12-01

LuaJlua的一个java版本的实现,使用LuaJ可以在java程序中调用lua程序,在lua程序中调用java程序,给java提供了脚本方便。

<!-- https://mvnrepository.com/artifact/org.luaj/luaj-jse -->
<dependency>
    <groupId>org.luaj</groupId>
    <artifactId>luaj-jse</artifactId>
    <version>3.0.1</version>
</dependency>

在使用的时候,通过LuaJ可以实现LUA脚本和java的互相调用。

既可以通过java调用LUA脚本,也可以在LUA中调用java方法。


1、使用JAVA调用LUA脚本

//指定lua脚本名
String script = "hello.lua";
	
//初始化lua运行时环境
Globals globals = JsePlatform.standardGlobals();
		
//通过Globals加载lua脚本
LuaValue chunk = globals.loadfile(script);
		
//运行lua脚本
chunk.call( LuaValue.valueOf(script) );

这基本是固定的步骤,这里做简单解释:

(1)LuaValue

LuaValue对象用来表示在Lua语言的基本数据类型。

比如:Nil,Number,String,Table,userdata,Function等。

尤其要注意LuaValue也表示了Lua语言中的函数。所以,对于Lua语言中的函数操作都是通过LuaValue来实现的。

(2)Globals

Globals 继承 LuaValue 对象,在创建Globals对象的同时,初始化了lua的基本功能。例如基本函数,基本库函数table等。

2、使用JAVA调用LUA方法

这个一般用的比较少,就不上传demo了。

 类似资料: