一 注释
单行注释
两个减号是单行注释: --注释内容
多行注释
--[[ 多行注释 多行注释 --]]
二)基本类型
Lua中有8个基本类型分别为:
- nil(空) -----> java null(空)
- boolean(布尔)、
- number(数字) 双精度浮点数 ---> java int double float
- string(字符串)
- table(表) ----> 类似 java map
- function(函数)、
- userdata(自定义的类型)、
- thread(线程/协程)
使用type函数测试给定变量或者值的类型
三)变量
1)变量命名
大小写区分命名规则
Lua 标示符用于定义一个变量,函数获取其他用户定义的项。标示符以一个字母 A 到 Z 或 a 到 z 或下划线 _ 开头后加上0个或多个字母,下划线,数字(0到9)。
_temp
一般约定,以下划线开头连接一串大写字母的名字(比如 _VERSION)被保留用于 Lua 内部全局变量。
关键词:
and break do else
elseif end false true for
function if in local
nil not or
return then repeat until
while
变量名字,它的大小写是相关的。也就是说,A和a是两个不同的变量
定义一个变量的方法就是赋值。"="操作就是用来赋值的。
2)全局变量
在默认情况下,变量总是认为是全局的。除非,你在前面加上"local"。这一点要特别注意,因为你可能想在函数里使用局部变量,却忘了用local来说明.
全局变量不需要声明,给一个变量赋值后即创建了这个全局变量,访问一个没有初始化的全局变量也不会出错,只不过得到的结果是:nil。
> print(b) nil > b=10 > print(b) 10 >
局部变量
全局变量
如果你想删除一个全局变量,只需要将变量赋值为nil。
b = nil
print(b) --> nil
这样变量b就好像从没被使用过一样。换句话说, 当且仅当一个变量不等于nil时,这个变量即存在。
3)局部变量
变量名称 前加修饰符 local
四)nil类型
> print(type(a))
nil
-------------------------
对于全局变量和 table,nil 还有一个"删除"作用,给全局变量或者 table 表里的变量赋一个 nil 值,等同于把它们删掉,执行下面代码就知:
tab1 = { key1 = "val1", key2 = "val2" } for k, v in pairs(tab1) do print(k .. " - " .. v) end print('---------') tab1.key1 = nil for k, v in pairs(tab1) do print(k .. " - " .. v) end
输出:
-----------------------------
判断nil类型 作比较时应该加上双引号 ":
type(X) ---> 返回的类型 其实是string
>print(a -- nul)
true
> type(X)==nil
false
> type(X)=="nil"
true
本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/p/17855741.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示