前言#
今天我們把目光轉向了基礎函數庫罢猪,為什么要把一直逆向講解函數的順序轉變過來呢叉瘩,原因是這樣的,比如先前講的幾個函數庫都是os
庫危彩、string
庫等等泳桦,這些函數庫不依賴于具體概念,只講使用方法是沒有什么影響的谒府,最近這幾個庫涉及到模塊、作用域等語言基礎的部分完疫,所以我們必須從頭開始了,先從基礎庫開始總結鸟顺,今天來看第一個函數——斷言函數惦蚊。
基礎函數庫中提供了lua語言的核心功能,如果在你的應用中不包含這個庫的話兆沙,你就需要謹慎的檢查一下你是否需要提供一些額外的工具函數的實現(xiàn)了莉掂。
內容#
assert()##
- 原型:assert(v [, message])
- 解釋:當參數
v
的值是false
或者nil
的時候展示一個錯誤,否者返回所有的參數值库正。其中參數message
表示一個錯誤信息厘唾,這個參數的默認值是assertion failed抚垃!
。
Usage##
- 首先我們新建一個文件將文件命名為asserttest.lua然后編寫代碼如下:
-- 由于今天的測試函數比較個別
-- 沒辦法一次執(zhí)行完成鹤树,一次錯誤就中斷了
-- 所以今天的測試分組進行罕伯,每一組執(zhí)行一次
-- 執(zhí)行這一組,其他組代碼注釋
-- 第一組坟募,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時,函數將所有參數都返回了群叶。