![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Lua
文章平均质量分 58
gneveek
T_T此号终于找回,以后要注意安全。
展开
-
30行代码在skynet中实现预警机器人
1. 预警机器人的定义预警机器人就是当线上有任何错误发生时,它会把错误信息以某种形式通知到某处。2. 思路2.1 报错拦截在 skynet 构建的系统中,报错一般是 lua 引起的,比如 attemp index a nil value, 这些报错的位置虽然分散在成百上千个文件里,但入口其实非常有限,我们只要在入口处拦截掉这些报错,就能把错误信息发送到出去。以下列出不同业务类型其报错的入...原创 2020-01-17 09:54:19 · 506 阅读 · 1 评论 -
skynet之协程池(co_create)
local coroutine_pool = {}local coroutine_yield = coroutine.yieldlocal function co_create(f) local co = table.remove(coroutine_pool) if co == nil then co = coroutine.create(function(...原创 2017-09-11 20:12:52 · 1706 阅读 · 0 评论 -
lua 防御式编程辅助函数
防御式编程是提高软件质量技术的有益辅助手段。防御式编程的主要思想是:子程序应该不因传入错误数据而被破坏,哪怕是由其他子程序产生的错误数据。这种思想是将可能出现的错误造成的影响控制在有限的范围内。以上是引用自百科的一段描述,在实际编码过程中,我们除了判断参数是否合法外,还会 assert 非法参数,以达到快速定位出错位置的目的。一些示例比如我们有一个 计算两个 number 之和的一个函数:fun原创 2018-01-03 21:10:18 · 1517 阅读 · 0 评论 -
Lua仿C++面向对象实现(LuaOO)
该实现的特性支持类似C++的 new() 和 delete() 函数构造(ctor)和析构(dtor)函数会自动按C++顺序调用(ctor从最底层基类开始调用,dtor从高上层派生类调用)派生类中可以访问被覆盖的子类方法实现代码function class(super) local cls = {} if super then setm...原创 2018-05-03 11:59:21 · 963 阅读 · 0 评论