コード例 #1
0
ファイル: LuaVM.cs プロジェクト: xiaoxiaofish/LuaVM
        /// <summary>
        /// GETTABLE指令(iABC模式)根据键从表里取值,并放入目标寄存器中。
        /// 其中表位于寄存器中,索引由操作数B指定;键可能位于寄存器中,也可能在常量表里,索引由操作数C指定;目标寄存器索引则由操作数A指定。
        /// </summary>
        /// <param name="i"></param>
        public void GetTable(Instruction i)
        {
            int a = 0, b = 0, c = 0;

            i.ABC(ref a, ref b, ref c);
            a += 1;
            b += 1;
            luaState.GetRK(c);
            var key = luaState.Pop();

            luaState.GetTable(key, b);
            luaState.Replace(a);
        }