假想它是這樣的.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時,函數將所有參數都返回了。