第一章 Lua入门

系列文章目录

Lua入门



一、类型和值

Lua语言是一种动态类型语言(Dynamically-typed language),在这种语言中没有类型定义( type definition ),每个值都带有其自身的类型信息。
Lua语言中有8种基本类型:nil(空 )、boolean(布尔)、number(数值)、string(字符串)、userdata(用户数据)、function (函数)、thread(线程)和 table(表)。使用函数 type可获取一个值对应的类型名称:
在这里插入图片描述
不管x类型是什么,type(x)永远返回一个字符串。userdata类型允许把任意C语言数据保存在Lua中。变量没有预定义类型,任何变量都可以包含任何类型的值。
在这里插入图片描述

  1. nil

nil是一种只有一个nil值的类型,它的主要作用就是与其他所有值进行区分。Lua语言使用nil来表示无效值( non-value,即没有有用的值)的情况。像我们之前所学习到的,一个全局变量在第一次被赋值前的默认值就是nil,而将nil赋值给全局变量则相当于将其删除。

2. Boolean

除Boolean值false和nil外的所有其他值视为真。特别的是,在条件检测中 Lua语言把零和空字符串也都视为真。Lua语言支持常见的逻辑运算符: and、or和 not。和条件测试一样,所有的逻辑运算将Boolean类型的false和 nil当作假,而把其他值当作真。逻辑运算符and的运算结果为:如果它的第一个操作数为“false”,则返回第一个操作数,否则返回第二个操作数。逻辑运算符or的运算结果为:如果它的第一个操作数不为“false”,则返回第一个操作数,否则返回第二个操作数。例如:

在这里插入图片描述
and:第一个数为false则返回第一个操作数
or:第一个操作数不为false则返回第一个操作数
and和 or都遵循短路求值(Short-circuit evaluation)原则,即只在必要时才对第二个操作数进行求值

在这里插入图片描述
not永远返回Boolean类型

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值