![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Lua
CodeP1G
Day Day up
展开
-
lua学习之MetaTable 和 MetaMethod(元表和元方法)
MetaTable和MetaMethod是Lua中的重要的语法,MetaTable主要是用来做一些类似于C++重载操作符式的功能。比如,我们有两个分数:fraction_a = {numerator=2, denominator=3}fraction_b = {numerator=4, denominator=7}我们想实现分数间的相加:2/3 + 4/7,我们如果要执行: f...转载 2018-08-20 17:43:40 · 472 阅读 · 0 评论 -
Lua lfs库
Lua lfs库该库可以实现文件系统的访问配置方法:5.1以上的lua已经包含了lfs库,路径是Lua5.1\clibs\lfs.dll,我们无需配置直接require “lfs”使用即可。提供的功能:lfs的开发提供了功能的介绍:官方手册 lfs.attributes(filepath [, aname]) 获取路径指定属性 lfs.chdir(path...原创 2019-03-27 14:37:15 · 2058 阅读 · 0 评论 -
luarocks 库windows 安装使用
LuaSocket这个是Lua扩展库添加的程序,具体可以百度一下,在linux环境中他是比较容易安装和使用的,今天研究了一下在windows安装,发现比较麻烦,所以先记录一下!这是官方下载地址:https://luarocks.org/modules/luarocks/luasockethttps://luarocks.org/manifests/luarocks/luasocket-...转载 2019-03-22 17:18:21 · 3450 阅读 · 0 评论 -
Lua查找表元素过程(元表、__index方法是如何工作的)
一切尽在此中,无穷无尽的力量啊~转载 2019-03-04 15:16:50 · 122 阅读 · 0 评论 -
Lua table.sort的应用
在用lua进行游戏开发的过程中,很多都有排行榜的需求,如何按照给定的规则进行排序?这时候就需要用到table.sort了。假设 一个小怪 有三种属性,等级(level)、品质(quality)、id(pid)我们需要对他们进行排序,两种排序情况,第一是单一属性排序,比如按照等级进行排序,或者多种属性进行优先级排序。根据等级排序local function tabl...原创 2019-03-04 14:49:52 · 375 阅读 · 0 评论 -
Lua学习之热更新
关于lua热更新热更新的原理Lua的require(modelname)把一个lua文件加载存放到package.loaded[modelname]。当我们加载一个模块的时候,会先判断是否在package.loaded中已存在,若存在则返回改模块,不存在才会加载(loadfile),防止重复加载。package.loaded是一个Table,其中包含了全局表_G、默认加载...原创 2019-03-23 17:01:23 · 721 阅读 · 0 评论 -
package.loaded和require配合让一个文件更新后重新加载
用require函数只能加载一次,因为它的特性是: 1、require函数会搜索目录加载文件2、require会判断是否文件已经加载避免重复加载同一文件。而这个特性二,虽然我们可能知道这两个特性,但是潜意识里面常常把这个特性二给忽视掉了.直到哪天我们需要反复加载同一个lua文件,但是没有实现自己想要效果的时候,才会发现这个特性二的存在感特别强!也许有的小伙伴,会有疑问,为什...转载 2018-09-06 19:00:13 · 496 阅读 · 0 评论 -
lua学习之如何实现面向对象
上面我们看到有__index这个重载,这个东西主要是重载了find key的操作。这操作可以让Lua变得有点面向对象的感觉,让其有点像Javascript的prototype。所谓__index,说得明确一点,如果我们有两个对象a和b,我们想让b作为a的prototype只需要:setmetatable(a, {__index = b})例如下面的示例:你可以用一个Window_Pr...转载 2018-08-20 17:46:00 · 178 阅读 · 0 评论 -
Lua学习之string.gmatch
这是Lua的string库比较高级一点的匹配方法了。原型:string.gmatch (s, pattern)解释:返回一个迭代器函数,每一次调用这个函数,返回一个在字符串s找到的下一个符合pattern描述的子串。如果参数pattern描述的字符串没有找到,迭代函数返回nil。匹配的模式:.(点): 与任何字符配对%a: 与任何字母配对%c: 与任何控制...原创 2019-03-28 12:04:37 · 16974 阅读 · 1 评论