前言#
今天我们把目光转向了基础函数库,为什么要把一直逆向讲解函数的顺序转变过来呢,原因是这样的,比如先前讲的几个函数库都是os
库、string
库等等,这些函数库不依赖于具体概念,只讲使用方法是没有什么影响的,最近这几个库涉及到模块、作用域等语言基础的部分,所以我们必须从头开始了,先从基础库开始总结,今天来看第一个函数——断言函数。
基础函数库中提供了lua语言的核心功能,如果在你的应用中不包含这个库的话,你就需要谨慎的检查一下你是否需要提供一些额外的工具函数的实现了。
内容#
assert()##
- 原型:assert(v [, message])
- 解释:当参数
v
的值是false
或者nil
的时候展示一个错误,否者返回所有的参数值。其中参数message
表示一个错误信息,这个参数的默认值是assertion failed!
。
Usage##
- 首先我们新建一个文件将文件命名为asserttest.lua然后编写代码如下:
-- 由于今天的测试函数比较个别
-- 没办法一次执行完成,一次错误就中断了
-- 所以今天的测试分组进行,每一组执行一次
-- 执行这一组,其他组代码注释
-- 第一组,assert 最常使用方法
local isplayer = false;
assert(isplayer)
-- 第二组,添加自定义提示
assert(100 > 99, "that is right")
assert(100 > 199, "compare fail")
-- 第三组,判断返回值
local ret, ret2 = assert(100 > 99, "I can't believe")
print ("ret is", ret, ret2)
- 运行结果
总结#
- 由第一组运行结果可以看出,参数
message
的默认值确实是assertion failed!
。 - 由第二组运行结果可以看出,参数
message
设置的值生效了。 - 由第三组运行结果可以看出,当判断条件不为false时,函数将所有参数都返回了。