Lua中没有返回语句的function会返回什么?
2008-12-11 14:33
453 查看
结论:在Lua中,没有包含返回语句的function在调用时,返回值是 nil。
示例代码如下
function run()
local a = 10
-- return a
end
ret = run()
if ret == "" then
print("Return null string.")
elseif ret == nil then
print("Return nil.")
else
print("return other value.")
end
print(ret)
if run() == "" then
print("Return null string.")
elseif run() == nil then
print("Return nil.")
else
print("return other value.")
end
print(run() )
print(run() + 5)
输出结果为:
Return nil.
nil
Return nil.
lua: funret.lua:30: attempt to perform arithmetic on a nil value
stack traceback:
funret.lua:30: in main chunk
[C]: ?
注意,上例中,在 print(run()) 的时候,输出为一个空行,估计是print对函数返回值为nil时忽略了要打印的nil,print的问题,而不是“函数没有任何返回值”。
示例代码如下
function run()
local a = 10
-- return a
end
ret = run()
if ret == "" then
print("Return null string.")
elseif ret == nil then
print("Return nil.")
else
print("return other value.")
end
print(ret)
if run() == "" then
print("Return null string.")
elseif run() == nil then
print("Return nil.")
else
print("return other value.")
end
print(run() )
print(run() + 5)
输出结果为:
Return nil.
nil
Return nil.
lua: funret.lua:30: attempt to perform arithmetic on a nil value
stack traceback:
funret.lua:30: in main chunk
[C]: ?
注意,上例中,在 print(run()) 的时候,输出为一个空行,估计是print对函数返回值为nil时忽略了要打印的nil,print的问题,而不是“函数没有任何返回值”。
相关文章推荐
- return ; 这个语句有问题吗?如果没有问题,那返回的是什么?
- request('id')语句,返回的是什么类型的数据
- GO学习笔记 - 没有参数的 return 语句返回各个返回变量的当前值,这种用法被称作“裸”返回。
- 使用SSH添加数据时执行了SQL语句数据库却什么都没有?
- (转)jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法
- 解决插入语句问题:com.microsoft.sqlserver.jdbc.SQLServerException: 该语句没有返回结果集
- TP 查询时候标题带有&的字符,查询没有结果!打出SQL语句去数据库查,返回有结果!
- SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL。但咱们想返回的是0而不是Null
- CI框架,select 查询sql,没有结果是返回false还是空数组? 什么情况下返回false?
- sql语句group by如果没有聚合函数(如count一类的),那它有什么作用
- 使用 聚合函数(aggregate function)时,SQL语句的返回值的注意事项
- 【小小问题集锦5之---为什么在没有 ORDER BY 子句的情况下无法保证 SELECT 语句所返回结果的顺序。】
- SUM 是SQL语句中的标准求和函数,如果没有符合条件的记录,那么SUM函数会返回NULL。但咱们想返回的是0而不是Null
- jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法
- [C/CPP系列知识] 在C中使用没有声明的函数时将发生什么 What happens when a function is called before its declaration in C
- ssh调用存储过程,console提示错误:该语句没有返回结果集。
- 一条SQL 语句执行后返回2笔受影响--如果没有触发器,那就是点到"包括实际的执行计划"!
- 集成百度地图bug,debug得到的结果是离线定位,但是什么都没有返回
- lua function返回多个参数
- jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法