原文地址http://www.daileinote.com/computer/lua/07

assert (v [, message])

断言,主要是用来输出错误当v为false或nil时,message可选默认为assertion failed
当v为true时返回v,和message两个参数

例子

assert(1>10)
--输出如下
--[[
lua: tmp.lua:1: assertion failed!
stack traceback:[C]: in function 'assert'tmp.lua:1: in main chunk[C]: ?
--]]

collectgarbage ([opt [, arg]])

垃圾回收,除了c/c++等语言,一般不需要手动释放内存编程语言都具备垃圾回收功能来避免内存耗尽,lua中的collectgarbage函数是给用户来手动控制垃圾回收,一般情况下建议不要手动调用,因为lua会帮我们完成。

opt
"collect"       从头到尾走一遍垃圾回收流程.
"stop"          停止垃圾回收(如果正在进行)
"restart"       重新启动垃圾回收(如果已经停止)
"count"         返回lua吃掉的内存(单位K)
"step"           执行垃圾回收步骤,大小由arg参数决定(越大代表步骤越多,不特定),如果你想控制步骤大小,你必须传不同的arg来试验,当返回true时表示回收完成
"setpause"   把传入的参数arg设置为新的收集器的暂停值,返回老的暂停值
"setstepmul" 把传入的参数arg设置为新的收集器的倍增值,返回之前的步骤值

例子

local url = 'www.freecls.com'local mem_use = collectgarbage('count')
print(mem_use)      --28.9345703125local t = {}
for i=1,1000 dotable.insert(t,i)
endlocal mem_use = collectgarbage('count')
print(mem_use)      --45.0341796875--手动回收内存,
collectgarbage('collect')--这时候t这个表格还没有释放,所以回收不了多少
local mem_use = collectgarbage('count')
print(mem_use)      --43.267578125t = nil--手动回收内存
collectgarbage('collect')--由于t为nil所以回收器会回收之前t所占用的内存
--所以内存又回到了初始的时候的大小
local mem_use = collectgarbage('count')
print(mem_use)      --27.205078125

总结

1.本文只是对断言,垃圾回收做简单的介绍,如果有疑问可以给我留言
2.lua的版本为5.1,运行环境centos7 64位
3.原文地址http://www.daileinote.com/computer/lua/07

lua assert collectgarbage相关推荐

  1. lua 之 全局变量

    注:本篇文章从个人博客园移植而来 _G lua的全局变量保存在一个常规的table中,这个table被称为全局环境,该table存储在名为 _G 的表中 for i, v in pairs(_G) d ...

  2. 合宙lua库详解-sys

    文章目录 简介 QUESTION START sys.init(0,0) sys.run lua内部消息机制 publish subscribe waitUntil dispatch 定时器的实现 * ...

  3. 编写高性能的 Lua 代码

    原文出处: wuzhiwei 的博客   欢迎分享原创到伯乐头条 前言 Lua是一门以其性能著称的脚本语言,被广泛应用在很多方面,尤其是游戏.像<魔兽世界>的插件,手机游戏<大掌门& ...

  4. LUA 拾遗(编译-调试-运行)

    (dofile - loadfile) dofile从LUA源码读入chunk编译为字节码并执行,loadfile则是执行字节码. function dofile (filename) local f ...

  5. tolua全教程-Chinar

    如博文无法正常显示,请访问原文地址: https://blog.csdn.net/ChinarCSDN/article/details/83044148 tolua 教程大全 本文提供全流程,中文翻译 ...

  6. Lua语法小贴士(十四)垃圾回收collectgarbage

    Lua垃圾回收只有一个函数collectgarbage,第一个参数是字符串,代表操作类型,第二个参数只有某些操作有,是该操作所需要的参数. 操作类型: stop停止垃圾收集. restart重启垃圾收 ...

  7. lua - 垃圾回收器collectgarbage

    相关讲解链接(来自菜鸟教程): https://www.runoob.com/lua/lua-garbage-collection.html 代码示例: -- 先统计现有内存使用情况 local me ...

  8. Lua语法 垃圾回收collectgarbage

    Lua垃圾回收只有一个函数collectgarbage,第一个参数是字符串,代表操作类型,第二个参数只有某些操作有,是该操作所需要的参数. 操作类型: stop停止垃圾收集. restart重启垃圾收 ...

  9. Lua语法知识点 垃圾回收collectgarbage

    Lua垃圾回收只有一个函数collectgarbage,第一个参数是字符串,代表操作类型,第二个参数只有某些操作有,是该操作所需要的参数. 操作类型: stop停止垃圾收集. restart重启垃圾收 ...

最新文章

  1. print、printf、println在Java中的使用
  2. 【Python基础】Python的深浅拷贝讲解
  3. ubuntu怎么测tcp协议的服务器,Ubuntu利用TCP协议来获取server时间(示例代码)
  4. Warning: Instance created by `useForm` is not connect to any Form element. Forget to pass `form` pro
  5. Keras之DNN:基于Keras(sigmoid+linear+mse+predict)利用DNN实现回归预测——DIY多分类数据集预测新数据点
  6. V.35协议转换器指示灯告警常见故障以及排除方法解析
  7. db2 linux 导入数据_MySQL数据的导出和导入(Linux)
  8. Android XmlPullParser 笔记
  9. Core 提交返回500 问题 记录 来自网上文章
  10. javascript:访问iframe中的js函数
  11. python整数缓存机制
  12. 闲话目前游戏服务器的开发
  13. 我想成为一个记计算机程序员英语作文,关于程序员的英语作文
  14. 计算机软件后缀名,如何显示文件后缀名
  15. html%2b怎么转换成加号,url 参数的加号变成空格处理
  16. java制作小鱼吃大鱼_大鱼吃小鱼游戏(Java编写)
  17. 计算机技术对英语课堂,信息技术在英语课堂中的运用
  18. JS 超大文件上传解决方案:分片断点上传(一)
  19. 操作系统实验:存储管理(C++)
  20. C#实现拉格朗日、牛顿、Hermite插值

热门文章

  1. word怎么改一张纸的方向_word怎么把其中一张纸横过来
  2. 杭州小伙子骑车逆行被抓,看到最后我的眼泪却差点掉了下来
  3. 28dm.app.php,DM盒子app-DM盒子安卓版v1.0(漫画软件)
  4. 般若VIP秘密课程:SEO实战演练
  5. 1e8和1e-8的意思
  6. 资产收集神器-Goby工具
  7. 【PAT甲级题解】1097 Deduplication on a Linked List (25分)
  8. 手机语音翻译怎么做?分享一个简单办法,快速实现中英文语音对话
  9. jmeter 登录并发 (此文章有待修改)
  10. 20210213 黑马javaweb JDBC