在java中执行Lua脚本?

Posted

技术标签:

【中文标题】在java中执行Lua脚本?【英文标题】:Execute Lua script in java? 【发布时间】:2018-12-28 07:41:12 【问题描述】:

所以我现在正在学习 java 并构建了一个 GUI,它可以按照我的意愿运行。但是我需要一种可以在我的 java 脚本中调用 lua 脚本的方法。我很擅长 lua,并在 lua 中使用以下代码通过 cmd 从外部启动另一个 lua 脚本。

os.execute(‘开始“数据保存”cmd /k“cd‘..路径..‘&‘..r_path..‘bin\luae.exe testscript.lua & exit“‘)

我刚接触 java 正在研究并且变得非常困惑。但这背后的原因是我正在为一个只读取 lua 代码的游戏制作一个外部对话框。因此计划是从对话框中获取信息并使用新的对话框信息执行 lua 文件,然后使用 lua 中的 :write() 生成具有此信息的新 lua 文件。

我只需要能够在 java 中执行一个带有参数的 lua 文件即可。

【问题讨论】:

java...or javascript??? 我认为只是 java. 您应该知道您使用的是什么语言。否则我们怎么帮你? 可能相关:github.com/darmie/LuaJ 我正在使用 Java,我研究了 LuaJ,但对安装位置感到困惑。 【参考方案1】:

我不知道这是否是您正在寻找的答案,但您可以使用已包含在 java.lang 包中的 Runtime 类及其 exec(String cmd) 方法在 Java 中运行 shell 命令在 java 本身中通常是一个很好的 os.execute 替代品。

用法

public class Test 
    public static void main(String[] args) 
        Runtime.getRuntime().exec('start "Data save" cmd /k "cd ' .. path .. ' & ' .. r_path .. 'bin\luae.exe testscript.lua & exit "')
    

您可能希望更多地了解Runtime 类。

但是,如果您确实希望在 Java 中解释 Lua,那么我听说 LuaJ 是一个不错的选择。

【讨论】:

以上是关于在java中执行Lua脚本?的主要内容,如果未能解决你的问题,请参考以下文章

在JAVA中使用LUA脚本记,javaj调用lua脚本的函数(转)

redis lua脚本有啥用

C#中执行Lua脚本

redis执行lua脚本

Redis Lua脚本的详细介绍以及使用入门

redis在使用lua脚本以及实现redis分布式锁