Lua的哈希表是否可以在Lua之外使用/实用?

5

我发现在一个包括Lua的C项目中需要使用哈希表容器。我想知道是否可以将Lua中的哈希表作为通用容器使用。我查看了ltable.h,发现所有的函数都需要一个Lua状态并且似乎与Lua环境相关联,因此我猜测如果数据需要与Lua无关,则不太可行。

2个回答

5

可以使用Lua官方的C API,这是最简单的方法。无需深入了解ltable.h的内部结构。


0

你可以使用luabind或luabridge来指定如何在Lua中表示C++哈希(例如stl的map),然后你就可以将其传递给Lua引擎。请注意,任何对Lua的使用都需要传递Lua状态,这里没有逃避。


所涉及的源代码是纯C而非C++,因此没有STL <map>可用,否则我就会直接使用它。 - Nick Van Brunt
好的,那就使用Lua API吧。抱歉。 - Uri Cohen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接