首页 > 学院 > 开发设计 > 正文

Lua的assert()

2019-11-06 08:39:21
字体:
来源:转载
供稿:网友

  lua的官方手册上已经有assert()函数的使用方法.

参见:http://www.lua.org/manual/5.3/manual.html#pdf-assert

为方便阅读使用,简单总结如下:

   lua是一个简单的做条件判断和异常抛出的函数,有点类似于java中的try-exception块的功能。

Lua提供了专门的内置函数assert( )来完成上述的类似功能:

PRint("enter a number:")n = assert(io.read("*number"), "invalid input")assert首先检查的是第一个参数是否返回错误(这个代码中如果直接回车会抛出invalid inputi提示),如果不返回错误,则assert简单返回,否则则以第二个参数抛出异常信息。

assert()是普通函数,他首先计算两个参数,然后在调用函数,如:

n = io.read()assert(tonumber(n), "invalid input:" .. n .. "is not a number")

先进行tonumber(n), "invalid input:" .. n .. "is not a number"这两个参数的计算。

没用assert( )时:

input = io.read("*number")print(input)结果为nil

当使用assert时,

input = assert(io.read("*number"))print(input)

结果:

assertion failed!stack traceback:[C]: in function 'assert' 

参考原文链接:http://blog.csdn.net/lzj849736336/article/details/51834081


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表