gpt4 book ai didi

java - Luaj解析表内容

转载 作者:行者123 更新时间:2023-11-30 02:00:46 24 4
gpt4 key购买 nike

我刚开始在我的项目中使用 luaj,我想在我的 lua 表中获取字符串内容。例如:

t = {
subTitle = "Haircut",
}
return t;

我想获取字幕的内容,应该很简单,但我不知道该怎么做。在我的代码中,我编写了如下示例的代码:

public class MainActivity extends ActionBarActivity {

Globals globals = JsePlatform.standardGlobals();
TextView textView;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView)findViewById(R.id.text);

try {
LuaValue chunk = globals.loadfile("assets/Test.lua");
String text = chunk.get("t").get("subTitle").call().tojstring();
textView.append(text);
}
catch (Exception e)
{
}
}

}

但是它一直告诉我get()只能应用于get函数。如何获取字幕的内容?非常感谢你的帮助。

最佳答案

返回的 block 表示执行之前编译的脚本,所以你必须“调用()”一次 block 来执行它并获得结果。

也许这个例子更清楚:

Globals globals = JsePlatform.standardGlobals();
LuaValue chunk = globals.load(
"t = {"+
" subTitle = 'Haircut',"+
"};"+
"return t");
LuaValue result = chunk.call(); // Executes the chunk and returns 't'
String text = result.get("subTitle").tojstring();
System.out.println(text);

您的脚本还对(全局)变量“t”进行了赋值,这在全局表中留下了副作用,因此您也可以从 globals:

String text = globals.get("t").get("subTitle").tojstring();
System.out.println(text);

关于java - Luaj解析表内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31523355/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com