当前位置: 首页 > news >正文

lua中 list.last = last 和list[last]=value区别

在 Lua 中,list.last = last 和 list[last] = value是两种完全不同的操作,核心区别在于它们操作的是表(table)的不同元素类型:

1. list.last = last这是给表 list 添加 / 修改一个名为 last 的键值对(字段),其中 last 是字符串类型的键。

相当于 list["last"] = lastLua 中 . 语法是 [""] 语法的简写,键名会被当作字符串)。

无论 last 变量的值是什么(数字、字符串等),这里的键始终是字符串 "last"

示例:

local list = {}
local last = 100list.last = last  -- 等价于 list["last"] = 100
print(list.last)  -- 输出 100
print(list["last"])  -- 输出 100(与上一行等价)
print(list[last])  -- 输出 nil(因为键是字符串"last",不是数字100)

2. list[last] = value这是给表 list 添加 / 修改一个以 last 变量的值为键的键值对,键的类型由 last 变量的值决定(可以是数字、字符串、表等)

• 若 last 是数字,就是操作表的数组部分(类似数组的索引)。

• 若 last 是字符串,就是操作表的字段(等价于 list.last = value 当且仅当 last 是字符串 "last" 时)。

示例:

local list = {}
local last = 3  -- last是数字3
local value = "hello"list[last] = value  -- 等价于 list[3] = "hello"
print(list[3])  -- 输出 "hello"
print(list.last)  -- 输出 nil(因为没有键"last")

另一个例子(last 是字符串):

local list = {}
local last = "last"  -- last是字符串"last"
local value = 200list[last] = value  -- 等价于 list["last"] = 200,也等价于 list.last = 200
print(list.last)  -- 输出 200(此时与list[last]效果一致)

总结

表达式含义键的类型典型用途
list.last = last给表添加键为 "last" 的字段固定为字符串给表添加描述性属性(如元信息)
list[last] = value给表添加键为 last 变量值的字段由 last 决定动态操作表元素(如数组索引)

简单说:list.last 是固定操作名为 "last" 的字段,而 list[last] 是操作以 last 变量值为键的字,后者更灵活,可动态指定键。

http://www.dtcms.com/a/313680.html

相关文章:

  • C语言实现猜数字游戏
  • 多模态大模型综述:BLIP-2详解(第二篇)
  • 问题集000
  • 图像张量中的通道维度
  • 力扣经典算法篇-41-旋转图像(辅助数组法,原地旋转法)
  • Kubernetes中ingess以及它和nginx的关系
  • 单表查询-模糊匹配
  • CMake 命令行参数完全指南(4)
  • sqli-labs靶场less26/a
  • awk对文本进行列处理
  • 【实习总结】Qt通过Qt Linguist(语言家)实现多语言支持
  • 抖音全新推荐大模型RankMixer
  • 【AI论文】ScreenCoder:通过模块化多模态智能体推动前端自动化中的视觉到代码生成技术发展
  • 从零开始实现Qwen3(Dense架构)
  • Linux 环境下 Docker 安装与简单使用指南
  • 7.28-8.3周报
  • 控制建模matlab练习10:滞后补偿器
  • OSPF笔记及综合实验报告册
  • 嵌入式 Linux 系统构建的核心组件详解
  • Go 工程化全景:从目录结构到生命周期的完整服务框架
  • 【openlayers框架学习】六:绘制点、圆、文字标注
  • 关于vllm【常见问题解决方案】
  • XtraBackup备份与恢复
  • Python 程序设计讲义(61):Python 的函数——变量的作用域
  • 【运维基础】Linux 硬盘分区管理
  • [Oracle] DUAL数据表
  • [自动化Adapt] 录制引擎 | iframe 穿透 | NTP | AIOSQLite | 数据分片
  • 第二节 YOLOv5参数
  • Python 程序设计讲义(59):Python 的函数——labmda函数(匿名函数)
  • 四、驱动篇-HDF驱动介绍2