打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Lua中没有返回语句的function会返回什么?
分类: Lua 2008-12-11 14:33 795人阅读 评论(0) 收藏 举报
结论:在Lua中,没有包含返回语句的function在调用时,返回值是 nil。


示例代码如下
  1. function run()

  2.         local a = 10

  3.         -- return a
  4. end

  5. ret = run()

  6. if ret == "" then
  7.         print("Return null string.")
  8. elseif ret == nil then
  9.         print("Return nil.")
  10. else
  11.         print("return other value.")
  12. end
  13. print(ret)

  14. if run() == "" then
  15.         print("Return null string.")
  16. elseif run() == nil then
  17.         print("Return nil.")
  18. else
  19.         print("return other value.")
  20. end

  21. print(run() )
  22. print(run() + 5)



输出结果为:

  1. Return nil.
  2. nil
  3. Return nil.


  4. lua: funret.lua:30: attempt to perform arithmetic on a nil value
  5. stack traceback:
  6.     funret.lua:30: in main chunk
  7.     [C]: ?


注意,上例中,在 print(run()) 的时候,输出为一个空行,估计是print对函数返回值为nil时忽略了要打印的nil,print的问题,而不是“函数没有任何返回值”。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Step By Step(Lua表达式和语句)(转)
Lua脚本语法说明(修订) - 沐枫小筑
Lua笔记
Lua1
Lua流程控制语句if else的使用示例
lua的调试器技术
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服