gpt4 book ai didi

c# - LuaInterface - 一个将返回 LuaTable 值的函数

转载 作者:行者123 更新时间:2023-11-30 16:20:22 26 4
gpt4 key购买 nike

有没有人知道如何编写一个返回 LuaTable 值的 C# 函数(例如 {1 = "example1", 2 = 234, "foo"= "Foo Example"} ?我测试过的所有类型都返回非 pair/ipairable 的 LuaUserData 值。提前致谢。

--更新--在我看来最接近 luaTable 的类型是 ListDictionary:

        [LuaFunc(Name = "table", Desc = "returns test LuaTable", Params = new string[] { })]
public System.Collections.Specialized.ListDictionary table()
{
var k = new System.Collections.Specialized.ListDictionary(){
{"1",1},
{2,"2"}
};

return k;
}

但它在Lua中仍然被识别为LuaUserData并且不能配对/配对

最佳答案

这个问题有两种可能的解决方案。

首先,让Lua返回表:

LuaTable lt = (LuaTable) lua.DoString("return {1 = "example1", 2 = 234, "foo" = "Foo Example"}")[0];

第二种可能是新建一个表

LuaTable lt = lua.NewTable("ThisTable")
lt["1"] = "example1"
lt["2"] = 234
lt["foo"] = "Foo Example"

您可以通过 Lua 访问第二个表

ThisTable[1] = ThisTable["foo"]

关于c# - LuaInterface - 一个将返回 LuaTable 值的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14299634/

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