Lua table 探索-从源码进行分析

引子 Lua table 探索

众所周知,lua table 初始化赋值一直是挺让人疑惑的。以下举一个例子(*部分知识参考《Lua设计与实现》)。
声明一个 table t 并初始化赋值后,打印 t[2] 可看到:
在这里插入图片描述
t[7] 为 321 符合预期,但 t[2] 不是 27 而是121。t[2] 为什么是 121 而不是 27,以下从源码角度进行分析。
为了更清晰地看到 lua vm 是如何解释运行的,我强烈建议搭建一个 lua 开发环境,以便调试查看源代码。

一、搭建 lua 开发环境

这一步十分简单,首先从官网上下载 lua 源码,然后打开 vs 创建一个 C++ 命令行程序,然后创建源文件、头文件,将下载好的 lua 源代码的所有 c 文件(去掉 lua.c 和 luac.c)放进工程的源文件目录下,将头文件放置工程的头文件目录下。此外,再创建一个 LuaDemo.cpp 和 main.lua 文件。如图所示:
在这里插入图片描述
其中,main.lua 文件如下:

print("===Start Lua===")
local t = {
   
   26, [2] = 27, [7] = 321, 121, 9
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值