2011-01-27 36 views
5

我發現自己需要一個包含Lua的C項目中的哈希表容器。我想知道是否有可能在Lua中使用哈希表作爲通用容器。我已經看過ltable.h,所有的功能都需要Lua狀態,並且看起來與Lua環境有關,所以我猜測如果數據需要獨立於Lua,這是不實際的。在Lua之外使用Lua的哈希表是否可行?

回答

5

這是可能的,最簡單的方法就是使用Lua的官方C API。不需要深入ltable.h的內部。

0

您可以使用luabind或luabridge指定C++哈希(如stl的映射)將如何在Lua中表示;那麼你就可以將它傳遞給Lua引擎。請注意,任何使用Lua都需要通過Lua狀態,這裏不會有任何轉義。

+0

有問題的來源是純C而不是C++所以沒有STL 否則我只會用那 – 2011-01-29 23:11:05