设为首页
收藏本站
切换到宽版
官网
论坛
资格申请
更新日志
热搜
活动
交友
discuz
登录
|
VV Engine 官方中心
»
论坛
›
Lua
›
脚本交流(LUA)
›
[Lua]保留字和关键字有什么区别?
返回列表
发新帖
查看:
14
|
回复:
2
[
脚本发布
]
[Lua]保留字和关键字有什么区别?
[复制链接]
hsx8998283
hsx8998283
当前离线
积分
1642
65
主题
79
回帖
1642
积分
金牌会员
社会你狗哥
金牌会员, 积分 1642, 距离下一级还需 1358 积分
金牌会员, 积分 1642, 距离下一级还需 1358 积分
积分
1642
发消息
发表于
5 天前
来自手机
|
显示全部楼层
|
阅读模式
本帖最后由 hsx8998283 于 2026-5-22 07:07 编辑
在 Lua 语言中,“关键字”和“保留字”这两个概念经常被混用,但严格来说它们是有区别的。
你可以这样理解它们的关系:所有的关键字都是保留字,但保留字不一定是关键字。 也就是说,“保留字”是一个更大的集合,它包含了“关键字”。
📖 两者的具体区别
* 关键字 (Keywords):
指的是 Lua 语言中已经被赋予特定语法含义的单词。它们是目前正在使用的、构成 Lua 语法核心的命令。比如你熟悉的 if(如果)、for(循环)、local(局部变量)、end(结束)等,这 22 个单词就是 Lua 的关键字。
* 保留字 (Reserved Words):
指的是被 Lua 官方“占坑”保留起来的单词。这些单词你不能拿来当作自己的变量名或函数名。保留字不仅包含了上面正在使用的 22 个关键字,通常还包含一些目前还没用、但预留给未来版本使用的单词,或者是 Lua 内部约定保留的特殊标识符。
📌 举个生动的例子
* 关键字就像是已经建好并投入使用的建筑物(比如学校、医院、商场),它们有明确的功能。
* 保留字就像是整个城市规划的“红线范围”。这个范围内不仅包含了已经建好的建筑物(关键字),还包含了一些目前还是空地、但已经被规划局圈起来的地方。这些空地(未来的保留字)虽然现在还没盖楼,但你不能随便去上面盖自己的房子(不能当变量名),因为官方未来可能会在这里盖新的公共设施。
💡 对初学者的实际影响
虽然在理论上有区别,但在你日常写 Lua 代码时,完全可以把它们当成一回事。
你只需要记住一个核心原则:Lua 官方规定的那些特殊单词(也就是那 22 个全小写的关键字),绝对不能用作你自己的变量名、函数名或表索引。
例如:
* ❌ local if = 10 (绝对不行,if 是关键字)
* ❌ local end = "结束" (绝对不行,end 是关键字)
* ✅ local key = "钥匙" (完全可以,key 既不是关键字,也不在 Lua 的保留范围内)
* ⚠️ local _VERSION = "1.0" (强烈不建议,虽然 _VERSION 不是关键字,但它属于 Lua 内部保留的命名格式,容易引发冲突)
回复
举报
hsx8998283
hsx8998283
当前离线
积分
1642
65
主题
79
回帖
1642
积分
金牌会员
社会你狗哥
金牌会员, 积分 1642, 距离下一级还需 1358 积分
金牌会员, 积分 1642, 距离下一级还需 1358 积分
积分
1642
发消息
楼主
发表于
5 天前
来自手机
|
显示全部楼层
看帖回帖是礼貌也能赚积分
回复
举报
woshifengmin
woshifengmin
当前离线
积分
1207
38
主题
60
回帖
1207
积分
金牌会员
金牌会员, 积分 1207, 距离下一级还需 1793 积分
金牌会员, 积分 1207, 距离下一级还需 1793 积分
积分
1207
发消息
发表于
5 天前
|
显示全部楼层
这些都需要学习和积累,我想肯定还有些冷门的需要长期试错
回复
举报
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
脚本交流
快速回复
返回顶部
返回列表