Another way: legend({'cos(x)','cos(2x)','cos(3x)','cos(4x)'},'Location','northwest','NumColumns',2)
游戏开发中往往会遇到不同游戏逻辑触发相同游戏操作的情况,举个简单的例子:在播放游戏过场动画时,我们往往需要隐藏游戏UI;而当我们进行游戏截屏时,往往也需要隐藏游戏UI.
Now I will paste my code snippet.
this is a simple lua util functions collection for easy usage and intergration
μ=1N∑i=1Nxiσ2=1N∑i=1N(xi−μ)2 \begin{aligned} &\mu = \frac{1}{N}\sum_{i = 1}^{N}x_i \\ &\sigma^2 = \frac{1}{N}\sum_{i = 1}^{N}(x_i - \mu)^2 \end{aligned} μ=N1i=1∑Nxiσ2=N1i=1∑N(xi−μ)2
游戏开发中,我们一般都要进行大量的对象更新(Update)操作,拿 Unity 中的 MonoBehavior 举例,其便支持定义专门的 Update 方法来处理相关 Component 的更新:
题记 又是一篇Sweet Snippet,自己看来都觉得过小,不足以成篇,不过自觉有些趣味,也就随便记一记了,权当自娱自乐 :) 2.
基础变更 Lua table 为只读的方法,在 《Programming in Lua》 中就已经给出了(这里),基本思路即是通过 __index 和 __newindex 两个元方法来做 table 的读写限制,代码大体如下:
当整数范围较大时,直接使用乘法运算符(*)很容易导致数值溢出,如果开发工作中确实需要处理这种大范围的整数,那么我们便需要实现一下大(范围)整数的乘法运算(一般方法便是将大整数表达为字符串,然后基于字符串来进行乘法运算).
对于每一个 md 文件内部,我习惯按照星期几来记录 markdown-schedule-snippet 可以看到每次写这些星期几的缩略都很麻烦,于是开发了一个简单的 vscode 插件 markdown-schedule-snippet 还有我自己设计的 logo,哈哈哈 这个插件仓库地址 https://github.com/Gaohaoyang/markdown-schedule-snippet 欢迎大家使用,同时也欢迎小伙伴们为这个仓库贡献一些其他有趣的 markdown snippet,欢迎你的 pr。
参加工作好多年了,却一直对程序中的clone(拷贝)语义比较陌生,印象中很多开发书籍对此都有很大篇幅的讨论,但自己平日里用到的情况却很少. 细想一下原因,可能还是由于拷贝的定义不明引起的:深拷贝和浅拷贝几乎是开发人员的常识,概念上似乎很简单,但是真正联系到实际项目,那就需要仔细思忖了. 就拿Lua中table举例,我们现在想要执行一次深拷贝操作,简单来想似乎写个递归就可以了,代码大概是这个样子:
作为Lua中实现各类数据结构的基石,表的使用想必是贯穿于整个项目的开发过程之中,其中对表内容的排序想必亦是常见的需求之一,Lua内置的Table函数库便提供了sort函数来实现这项功能,但是仅能支持表中数组部分内容的排序,而想要排序表中哈希部分的内容,简单的一个方法就是另写一个迭代器来支持:
很朴素的一种想法,为了维持 List 有序,我们可以在 Add 操作之后进行 Sort 操作(Remove 操作后不需要重新 Sort):
矩阵求逆有很多种方法,使用伴随矩阵可能是相对易于编码的方式,在此简单列一下实现(Lua):
平时代码总会遇到一些关于集合的操作,例如添加,排序等等,都可算作稀松平常,但是集合涉及的删除操作却一直有个大坑,我自己便跳进去过好几回,在此简单一记,以自警警人~
Sublime Snippet 废话!自己写! 新建Snippet 环境变量 Fields Mirror Fields Placeholder Substitutions scope 参考文献 Sublime Snippet 从大二开始就一直使用 正常情况插件里面已经包含了所有你需要的 Snippet,但是偶尔会有没有插件里面没有覆盖到的部分。 新建 Snippet 首先新建一个 Snippet: 菜单->Tools->Developer->New Snippet…… 然后会获得一段代码: <snippet> <content><! -- Optional: Description to show in the menu --> <description>My Fancy Snippet</description> </snippet
值得提到的一点是 PlayerPrefs 主动存储的实现方式,代码中除了释放 PlayerPrefs 时会做一次主动存储以外,另外还使用了一个脏标记(mPlayerPrefsDirty)来定时的检查是否要进行主动存储
本文简单实现了最短增广路径算法 首先我们简单实现 queue(队列) 数据结构 : local queue = {} queue.__index = queue function queue:push(val) table.insert(self.data, val) end function queue:pop() if #self.data > 0 then return table.remove(self.data, 1) end end fun
引子: 平日工作学习时总会遇到一些令人欣喜的代码段子(Snippet),虽然都很短小,但是其间所含的道理都颇有意味,遂而觉得应该不时的将她们记下,一来算作复习整理,二来也给有兴趣的朋友做些参考,虽然题目说成了一个系列
所谓逆序数,是指一个排列中所有逆序对的总数,而所谓逆序对,则是指排列中前后位置和大小顺序相反的数对,举个简单的例子: