【CS.PL】Lua 编程之道: 基础语法和数据类型 - 进度16%
2 初级阶段 —— 基础语法和数据类型
文章目录
- 2 初级阶段 —— 基础语法和数据类型
- 2.0 关键字(keywords) 🔥
- 2.1 注释与标识符
- 2.1.1 注释
- 2.1.2 标识符
- 2.2 变量与赋值
- 2.2.1 所有变量默认是全局变量 ≠ local, 有一个例外
- 2.2.2 local变量是局部变量, 以end作为边界
- 2.2.3 多个变量同时赋值且变量没有类型, 只是一个引用
- 2.2.4 用全局变量给局部变量赋值
- 2.3 数据类型:数字、字符串、布尔值
- 2.3.1 数值类型
- 2.3.2 字符串 —— `#`获取长度/`..`连接符 🔥
- 2.3.3 只有nil和boolean的false会使条件表达式为假, 0或""都会判为真
- 2.4 运算符和表达式
- 2.4.0 算数运算符
- 2.4.1 逻辑运算符`and`/`or`/`not`
- 2.4.2 比较运算符 `==` / `~=` / `>` / `=` / ` 如果lhs为真, 返回rhs; 如果lhs为假, 返回lhs
print(0 and 123) -- 123
print(nil and 123) -- nil
print(false and 123) -- false
-- 语法糖: lhs or rhs ==> 如果lhs为真, 返回lhs; 如果lhs为假, 返回rhs
print(0 or 123) -- 0
print(nil or 123) -- 123
print(false or 123) -- 123
print(false or nil) -- nil
print(not nil) -- true
print(not 0) -- false
2.4.2 比较运算符 == / ~= / > / = / 3) -- true print(5 = 5) -- true print(5 A and B -> B, B or C -> B; A假 -> A and B -> A, B or C -> C a = true b = "yes" c = "no" result = a and b or c print(result) -- "yes" a = false result = a and b or c print(result) -- "no"
这样,我们在 Lua 中通过一些技巧也能实现类似其他语言的三目运算符功能。这种表达方式非常简洁,但在使用时要确保 B 永远为真,否则会返回意想不到的结果。
往期回顾
【CS.PL】Lua 编程之道: 简介与环境设置 - 进度8%
免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
