Lua base assert()

假想它是这样的.jpg

前言#

今天我们把目光转向了基础函数库,为什么要把一直逆向讲解函数的顺序转变过来呢,原因是这样的,比如先前讲的几个函数库都是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)

  • 运行结果
base_assert.png

总结#

  • 由第一组运行结果可以看出,参数message的默认值确实是assertion failed!
  • 由第二组运行结果可以看出,参数message设置的值生效了。
  • 由第三组运行结果可以看出,当判断条件不为false时,函数将所有参数都返回了。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,224评论 19 139
  • 第一篇 语言 第0章 序言 Lua仅让你用少量的代码解决关键问题。 Lua所提供的机制是C不擅长的:高级语言,动态...
    testfor阅读 7,806评论 1 7
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,924评论 0 17
  • 第一部分 准入训练 第1章 进入忍者世界 js开发人员通常使用js库来实现通用和可重用的功能。这些库需要简单易用,...
    如201608阅读 5,167评论 1 2
  • 北哥刚搞了一个公众号时,他在朋友圈发布消息公开征文,许多身边的人都在那里讲出了他们的故事。 但昨晚,我却不知为何抑...
    文萝卜阅读 3,919评论 4 11

友情链接更多精彩内容