LuaInterface.LuaDLL.lua_getfield C# (CSharp) Method

lua_getfield() private method

private lua_getfield ( IntPtr luaState, int stackPos, string meta ) : void
luaState System.IntPtr
stackPos int
meta string
return void
        public static extern void lua_getfield(IntPtr luaState, int stackPos, string meta);
        public static void luaL_getmetatable(IntPtr luaState, string meta)

Usage Example

示例#1
0
        public void InitPackagePath()
        {
            //把package压栈
            LuaDLL.lua_getglobal(_L, "package");
            //把package.path压栈
            LuaDLL.lua_getfield(_L, -1, "path");
            string current = LuaDLL.lua_tostring(_L, -1);

            string[] paths = current.Split(';');

            for (int i = 0; i < paths.Length; i++)
            {
                if (!string.IsNullOrEmpty(paths[i]))
                {
                    string path = paths[i].Replace('\\', '/');
                    LuaFileUtils.instance.AddSearchPath(path);
                }
            }

            //把''压栈
            LuaDLL.lua_pushstring(_L, "");
            //把package.path值设为'',同时把''出栈
            LuaDLL.lua_setfield(_L, -3, "path");
            //把package和package.path出栈
            LuaDLL.lua_pop(_L, 2);
        }
All Usage Examples Of LuaInterface.LuaDLL::lua_getfield
LuaDLL