Lua
文章平均质量分 76
小龙龙丶
从事Unity游戏开发,爱好图形学
展开
-
优雅编程 lua实现自定义的迭代器
前言阅读本文之前如果不理解闭包的原理和应用可移步优雅编程-lua实现函数柯里化,本文会带你理解lua中的迭代器原理以及实现迭代器定义让我们看一下维基上对迭代器的解释迭代器(iterator),是确使用户可在容器对象(container,例如链表或数组)上遍访的对象,设计人员使用此接口无需关心容器对象的内存分配的实现细节。其行为很像数据库技术中的光标(cursor),迭代器最早出现在1974年设计的CLU编程语言中。如果没有写过c或者c++直接看这个解释可能很抽象,那我就直接说一个在lua中的原创 2021-07-22 12:09:06 · 470 阅读 · 0 评论 -
记一次 盛大,巨人,塔人 面经
前言这次完全是裸面,没有任何的准备,也发现了自己的很多不足,包括很多东西当场没办法冷静分析,很多自己写过的代码细节也忘记了。而且他问的知识点方向有的确实很少接触过,我会根据我的回忆来总结出这次经验,总之有兴趣的可以往下看吧。正文盛大 龙之谷2团队刚开始我说了前项目一些框架性的东西,他总之也就听个大概。接下来是他问的问题知道c#引用类型和值类型的区别吗,说下分别有哪些有没有用过c#的unsafe你知道c#的gc机制吗,描述一下在lua中怎么实现一个类xlua中lua和c#怎么进行交互,l原创 2021-07-06 22:24:49 · 336 阅读 · 1 评论 -
优雅编程-lua实现函数柯里化
理解闭包函数首先我们来看一个普通的函数作用域的实现--普通的变量定义 function a() local flag = 1 print("打印结果:"..flag) end打印结果:1这段函数会在他执行执行完这个方法后,flag的作用域的失效了。下面让我们来看这段基本的函数内部的闭包实现 --普通的变量定义 function a() local flag = 1 local func = fun原创 2021-06-25 01:24:03 · 430 阅读 · 0 评论 -
lua协同程序实现管道过滤器
--消费者驱动,协同程序实现管道过滤器function receive(prod)--启动协程,获取返回值 local status,value=coroutine.resume(prod) return valueendfunction send(x)--返回新值并挂起 coroutine.yield(x)endfunction producer()--创建协程返回读取的值原创 2016-07-06 15:20:42 · 474 阅读 · 0 评论