![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Lua
文章平均质量分 81
kuangben2000
这个作者很懒,什么都没留下…
展开
-
Lua5.4新特性
Lua5.4新特性https://zhuanlan.zhihu.com/p/137588708Lua5.4已经进入rc(Release Candidate)状态,相信很快就会发布正式版。这个版本在语言层面上修改的东西并不多,但是默认的GC被换成了“分代式GC”,这对于那些经常产生短期对象的程序应该会有很明显的性能提升。GC带来的负担永远是自动内存管理语言的一大痛点,如果能在这一点上取得突破,那肯定比提供更多语法糖来得有价值。此外5.4可以指定局部变量的属性,用这样的语法:local a &转载 2021-05-16 12:07:54 · 862 阅读 · 0 评论 -
XLua 源码学习原理(一)
XLua 源码学习原理(一)https://blog.csdn.net/zhaoguanghui2012/article/details/101675435@https://zhuanlan.zhihu.com/p/68406928刚刚初学XLua的源码,作为一个记录。XLua调用C#代码在XLua中可以直接使用Lua代码来调用C#中的代码。CS.UnityEngine.Debug.Log('hello world')接下来就是记录XLua是如何实现其调用的.XLua中.转载 2021-01-07 18:03:32 · 570 阅读 · 1 评论 -
require函数
require函数https://www.cnblogs.com/sylvan/p/8592472.htmlLua笔记——4.Package 目录require函数 创建模块 调用模块 module函数 简化module的创建 Lua5.1 & setfenv (f, table) Lua5.1 & module(...) Lua5.2之后 module简介Lua 5.1 加入模块管理机制module,类似于Java的packag.转载 2020-08-02 14:47:45 · 1858 阅读 · 0 评论 -
Setting the global LUA_PATH variable from C++/C?
Setting the global LUA_PATH variable from C++/C?https://stackoverflow.com/questions/4125971/setting-the-global-lua-path-variable-from-c-cI'm trying to set my global LUA_PATH variable directly from C/C++, I'm using Lua from my iPhone applications, so my转载 2020-08-02 13:56:34 · 250 阅读 · 0 评论 -
lua性能优化之memory monitor
lua性能优化之memory monitorhttps://blog.csdn.net/zjz520yy/article/details/79777392准备工作:1.在编写mm库前必须对lua c api要熟悉,否则会无从下手,这是一个痛苦的过程,还好风云大大对这个api进行的翻译,相对来说写lua c 库就轻松很多了,api翻译地址为:https://www.codingnow.com/2000/download/lua_manual.html#lua_getstack。2.在扩展sn.转载 2020-07-06 23:48:19 · 701 阅读 · 0 评论 -
Lua 垃圾回收
Lua 垃圾回收https://www.runoob.com/lua/lua-garbage-collection.htmlLua 采用了自动内存管理。 这意味着你不用操心新创建的对象需要的内存如何分配出来, 也不用考虑在对象不再被使用后怎样释放它们所占用的内存。Lua 运行了一个垃圾收集器来收集所有死对象 (即在 Lua 中不可能再访问到的对象)来完成自动内存管理的工作。 Lua 中所有用到的内存,如:字符串、表、用户数据、函数、线程、 内部结构等,都服从自动管理。Lua 实现了一个增量标转载 2020-07-06 12:42:31 · 152 阅读 · 0 评论 -
【Unity】中GC优化XLua下的各种值类型
【Unity】中GC优化XLua下的各种值类型https://blog.csdn.net/swj524152416/article/details/55511070前言Unity下的C#GC Alloc(下面简称gc)是个大问题,而嵌入一个动态类型的Lua后,它们之间的交互很容易就产生gc,各种Lua方案也把这作为性能优化的重点。这些优化说穿了其实不复杂。元凶在这里先看看这两个函数123456789 int inc1(int i){ return i ...转载 2020-07-02 10:52:35 · 309 阅读 · 0 评论 -
Lua 实现 continue
Lua 实现 continuehttps://www.runoob.com/note/45233lua 中没有 continue 语句有点不习惯。可以使用类似下面这种方法实现 continue 语句:for i = 10, 1, -1 do repeat if i == 5 then print("continue code here") break end print(i, "loop code here") until true转载 2020-06-29 18:55:47 · 342 阅读 · 0 评论 -
Lua转换为int
Lua转换为inthttps://www.codenong.com/10962085/Lua string to int如何在Lua中将字符串转换为整数?我有一个像这样的字符串: 1 a ="10" 我希望将其转换为10。相关讨论使用tonumber函数。与a = tonumber("10")中一样。相关讨论您可以通过在a="10" + 0中的算术运算中使用字符串来强制进行隐式转换,但这并不像显式使用tonumber那样..转载 2020-06-29 17:48:53 · 11976 阅读 · 0 评论 -
lua中的整除与取整数
lua中的整除与取整数https://blog.csdn.net/banfushen007/article/details/100546017 书籍是人类进步的阶梯,在没看lua程序设计第四版之前,并不知道lua有整除运算符,需要返回整除结果的时候,自己还得进行多余的运算,减去小数部分。前几天需求刚好需要用到整除和取一个浮点数的整数部分,运用之,作此记录。整除lua中“ / ”代表除法,计算结果都是存在小数的。lua5.3后还提供了一个整除的运算符“ // "。取整数...转载 2020-06-29 17:47:14 · 3861 阅读 · 0 评论 -
lua的a and b or c等于js的a?b:c,但不等于js的a && b || c
lua的a and b or c等于js的a?b:c,但不等于js的a && b || chttps://blog.csdn.net/u013654125/article/details/79741929先来说lua:lua中并没有a ? b : c这样的语法,因为lua没有这样的运算符,但是lua可以用 a and b or c来实现js或c语言的a ? b : c的功能。也就是说lua的a and b or c和js的a ? b : c的功能是一样的。为什么呢,这个要转载 2020-06-29 11:01:43 · 498 阅读 · 0 评论 -
Lua中数字for循环实例
Lua中数字for循环实例https://www.jb51.net/article/64701.htm看以下代码:复制代码 代码如下:for i=1,2 do print(i) i=3end输出是什么?如果习惯了C/C++语言,会觉得因为改变了控制变量i为3,所以在执行第二次循环体之前判断不通过,所以输出是1。但结果输出是1和2,即虽然改变了i,但循环还是执行了2次。这是为什么呢?看了lua的源代码,发现在语法分析阶段,表达式中的i(也叫控制变量)...转载 2020-06-28 19:48:42 · 442 阅读 · 0 评论 -
XLua 源码学习原理(一)
XLua 源码学习原理(一)https://zhuanlan.zhihu.com/p/68406928?from_voters_page=true刚刚初学XLua的源码,作为一个记录。XLua调用C#代码在XLua中可以直接使用Lua代码来调用C#中的代码。CS.UnityEngine.Debug.Log('hello world')接下来就是记录XLua是如何实现其调用的.XLua中的CS变量的功能CS是一个全局的Table,所以CS.UnityEngine可以当做是在一个名转载 2020-06-28 14:54:07 · 761 阅读 · 0 评论 -
XLua 源码学习原理(一)
XLua 源码学习原理(一)https://blog.csdn.net/zhaoguanghui2012/article/details/101675435刚刚初学XLua的源码,作为一个记录。XLua调用C#代码在XLua中可以直接使用Lua代码来调用C#中的代码。CS.UnityEngine.Debug.Log('hello world')接下来就是记录XLua是如何实现其调用的.XLua中的CS变量的功能CS是一个全局的Table,所以CS.UnityEngine可以当做转载 2020-06-28 14:29:03 · 374 阅读 · 0 评论 -
Lua中的元方法__newindex详解
您的位置:首页 → 脚本专栏 → Lua → Lua 元方法__newindex详解Lua中的元方法__newindex详解5.总结规则这就是__newindex的规则:a.如果__newindex是一个函数,则在给table不存在的字段赋值时,会调用这个函数。b.如果__newindex是一个table,则在给table不存在的字段赋值时,会直接给__newindex的table赋值。https://www.jb51.net/article/55155.htm好吧,我写文章.转载 2020-06-28 13:59:33 · 1179 阅读 · 0 评论 -
lua实现重载
lua实现重载https://blog.csdn.net/gulan0/article/details/88696059local function create() local arg_table = {} local function dispatcher (...) local tbl = arg_table local n = select ("#",...) local last_match for i ...转载 2020-06-28 10:45:56 · 497 阅读 · 0 评论 -
UE4热更新:基于UnLua的Lua编程指南
UE4热更新:基于UnLua的Lua编程指南https://zhuanlan.zhihu.com/p/117236078另外,Lua文件打包成Pak可以用我之前开源的UE资源打包工具:hxhb/HotPatcher,而且我基于UnLua自己修改了一个版本,添加了一些额外的优化,源码集成了Luasocket/Luapanda/lpeg/Sproto/Luacrypt库,可以直接使用LuaPanda调试,Github地址为:hxhb/debugable-unlua.PS:我建了一个QQ群(958363转载 2020-06-21 08:31:11 · 5153 阅读 · 1 评论 -
XLua:C#访问Lua中的table的几种方式
XLua:C#访问Lua中的table的几种方式https://blog.csdn.net/u013826918/article/details/80822997#C#访问Lua中的全局变量###C#代码luaEnv = new LuaEnv();luaEnv.DoString("require 'CSharpCallLua'");//获取Lua中的全局变量string name = luaEnv.Global.Get<string>("name");print("na转载 2020-06-18 14:08:52 · 899 阅读 · 0 评论 -
xlua接入protobuf
xlua接入protobufhttps://blog.csdn.net/yupu56/article/details/101543914xlua接入protobuf4种实现方式1.pbc2.protoc-gen-lua3.sproto4.lua-protobuf这四种方式有什么区别呢?1.pbc:它是云风大神早期的一个对protobuf的解析库,相对于protobuf_lua_gen来说,不需要生成巨多的lua协议描述文件,可以直接读取protobuf官方代码编译出来的protoc转载 2020-06-18 14:04:03 · 739 阅读 · 0 评论 -
Lua中的select函数
Lua中的select函数https://www.cnblogs.com/wangyueyouyi/p/9915644.htmlLua中用 ... 表示函数的可变参数,比如function fun(...) --此处的...表示可变参数 for i in pairs({...}) do --此处的{...}表示可变参数构成的数组 xxx endendselect(n, ...) --数字n表示起点,select(.转载 2020-06-17 16:28:35 · 316 阅读 · 0 评论 -
在 lua 中实现函数的重载
在 lua 中实现函数的重载https://www.cnblogs.com/jadeboy/p/3270766.html在 lua 中实现函数的重载。注:好吧,lua中原来可以实现重载...local function create() local arg_table = {} local function dispatcher (...) local tbl = arg_table local n = select ("#",...) local last_match f转载 2020-06-17 16:26:55 · 1234 阅读 · 0 评论 -
深入理解lua的协程coroutine
深入理解lua的协程coroutinehttps://blog.csdn.net/yzf279533105/article/details/799821391. 概述lua协程和多线程相同之处:拥有自己独立的桟、局部变量和PC计数器,同时又与其他协程共享全局变量和其他大部分东西不同之处:一个多线程程序可以同时运行几个线程(并发执行、抢占),而协程却需要彼此协作地运行,并非真正的多线程,即一个多协程程序在同一时间只能运行一个协程,并且正在执行的协程只会在其显式地要求挂起(suspend)时转载 2020-06-16 17:19:24 · 348 阅读 · 0 评论 -
Lua 变长参数以及 printf 实现
Lua 变长参数以及 printf 实现https://blog.csdn.net/Bob__yuan/article/details/97146735Lua 变长参数Lua 中的函数可以接受不同数量的实参。例如:在调用print时可以传入一个、两个或多个实参。形参中的三个点(…)表示该函数可接受不同数量的实参。当这个函数被调用时,它的所有参数都会被收集到一起,这部分收集起来的实参称为这个函数的“变长参数”。 一个函数要访问他的变长参数时,仍需要用到 “…”,只是此时的 “…” 是作为一个表达式转载 2020-06-16 15:50:01 · 439 阅读 · 0 评论 -
Lua5.3遇到的坑
Lua5.3遇到的坑https://blog.csdn.net/cyn618/article/details/69935740attempt to call a nil value (global 'unpack')在lua 5.2和5.3的版本中,全局的unpack函数已经被移除了,改为table.unpack,所以如果用到的第三方库或者源代码使用了unpack方法,可以在代码前面加上:<span style="font-size:14px;">local unpack =.转载 2020-06-16 15:30:25 · 824 阅读 · 0 评论 -
Lua -- pcall and xpcall
pcall and xpcallhttps://www.tutorialspoint.com/lua/lua_error_handling.htmIn Lua programming, in order to avoid throwing these errors and handling errors, we need to use the functions pcall or xpcall.The pcall (f, arg1, ...) function calls the request转载 2020-06-15 22:00:58 · 157 阅读 · 0 评论 -
Lua -- Function with Variable Argument
Function with Variable Argumenthttps://www.tutorialspoint.com/lua/lua_functions.htmIt is possible to create functions with variable arguments in Lua using '...' as its parameter. We can get a grasp of this by seeing an example in which the function wil转载 2020-06-15 21:58:48 · 96 阅读 · 0 评论 -
Xlua开发中需要注意到的坑~
Xlua开发中需要注意到的坑~https://blog.csdn.net/yu13473054/article/details/79877699----给c#中的委托赋值function OnSyncOutlimitDataNotify( msg )local reply = CS.ProtoBuf.Serializer.Deserialize(msg.data, typeof(CS.Module.SyncOutlimitDataNotify));endCS.Module.ModUser.I转载 2020-06-15 19:36:41 · 517 阅读 · 0 评论 -
XLua 调用 unity 中获取组件的方法
XLua 调用 unity 中获取组件的方法https://www.cnblogs.com/ProjectDeveloping/p/10765496.htmllocal cuee = CS.UnityEngine;local ui = CS.UnityEngine.UI;-- 在 C# 的 Start 中调用--用来初始化function OnStart(gObj) --获取一个 UnityEngine.UI 里的 Text local texts = GetComponentsI转载 2020-06-15 19:34:46 · 1475 阅读 · 0 评论 -
Lua Coroutines As Event Handlers
Coroutines As Event Handlershttp://lua-users.org/wiki/CoroutinesAsEventHandlersThis is a very basic Supervisor (or event dispatcher), similar to ones found in Copas and ProgrammingInLua? (but not based on any of those). It was written partly in respons转载 2020-06-03 22:44:58 · 155 阅读 · 0 评论 -
Lua 调试(Debug)
(1)Lua 调试(Debug)https://www.jianshu.com/p/93bbad44ad6aLua 提供了 debug 库用于提供创建我们自定义调速器的功能。Lua 本身并未有内置的调速器,但很多开发者共享了他们的 Lua 调速器代码。Lua 中 debug 库包含以下函数:sethook ([thread,] hook, mask [, count]):上表列出了我们常用的调试函数,接下来我们可以看些简单的例子:执行以上代码输出结果为:在转载 2020-06-03 20:04:05 · 2822 阅读 · 0 评论 -
Unity3d:LuaPanda+xlua调试
Unity3d:LuaPanda+xlua调试https://blog.csdn.net/qq_36383623/article/details/104012533一、LuaPanda介绍LuaPanda是腾讯开源的一款用于vscode的Lua代码工具,类似于vscode中的luaide,不过luaide是收费的,而luapanda是开源的,而且luapanda还补充了一些luaide没有支持到的功能;主要特性截图自官方介绍:LuaPanda中已经给出了比较详细的教程,这里主要是总结归纳转载 2020-06-03 19:09:41 · 1307 阅读 · 0 评论 -
[原创]UnLua Emmylua UE4开发环境搭建
[原创]UnLua Emmylua UE4开发环境搭建https://www.cnblogs.com/sevenyuan/p/11990776.html前言 公司开发的第二个虚幻4项目已经上线了,慢慢趋于稳定。回想起开荒的日子,历历在目。从引擎脚本的选择,各工具(导表,协议生成...)的重构、开发, 引擎扩展(多骨骼支持,Notify扩展,技能编辑器...),UMG蓝图的设计、适配,战斗Demo的创建,开发流程的接轨,功能堆砌,人员一波波的更迭... 回到正题,18年中,立项的时候,UE转载 2020-05-17 09:56:42 · 1789 阅读 · 0 评论 -
Lua5.1 升级 Lua5.3 升级 小结
Lua5.1 升级 Lua5.3 升级 小结https://www.cnblogs.com/zsb517/p/6822870.htmlLua的版本差异确实是比较让人头疼的事情,之前在移动端一直采用Android下使用LuaJit,Ios下使用Lua5.1。这次升级到Xlua(lua5.3版本)主要有两方面的原因:一是ulua后续维护比价差,决定要升级到xlua,另一方面是公司在上线检查中提...转载 2020-02-17 21:26:27 · 1560 阅读 · 0 评论 -
vscode lua 插件
vscode lua 插件https://www.jianshu.com/p/f3ff38d30bcfluapanda: 断点调试https://marketplace.visualstudio.com/items?itemName=stuartwang.luapanda 自动补全和函数列表https://marketplace.visualstudio.com/items?itemNa...转载 2020-02-14 23:30:13 · 1946 阅读 · 0 评论 -
Xlua异常记录
Xlua异常记录https://www.cnblogs.com/what-lee/p/10482821.html1.This type must add to CSharpCallLua这首先需要检查是否对类添加了CSharpCallLua, 另外也有可能是因为点击Generate Code之后操作太快直接点了注入代码 , 我就是因为这个在编辑器下xLua不生成代码都可以运行,出现...转载 2020-01-27 14:30:27 · 426 阅读 · 0 评论 -
Unity 使用xLua遇到的坑
Unity 使用xLua遇到的坑https://blog.csdn.net/qq3401247010/article/details/77132011在我们使用xLua作为Unity中lua集成的解决方案时,遇到了一个问题,就是当我们使用在lua中把UI中的某个控件绑定相应的事件(如按钮的onClick事件),xLua绑定这个事件是用委托实现的,具体代码可以查看xLua的代码。而在程序退出...转载 2020-01-27 11:10:43 · 1065 阅读 · 0 评论 -
配置xLua开发环境
配置xLua开发环境https://zhuanlan.zhihu.com/p/34497139Unity版本:5.3.7+xLua运行环境:Windows10为什么使用Lua?热更新,减少因为重新下包导致用户流失为什么使用xLua?项目已经到了后期,需要热更新,怎么办?用lua重写一遍代码?开玩笑!!用lua在关键代码上加节点判断?哪些是关键代码?是不是每个...转载 2020-01-27 08:42:38 · 492 阅读 · 0 评论 -
Linux运维知识之Lua的集成开发环境ZeroBrane Studio
Linux运维知识之Lua的集成开发环境ZeroBrane Studiohttp://linux.zhizuobiao.com/linux-19031500056/本文主要向大家介绍了Linux运维知识之Lua的集成开发环境ZeroBrane Studio,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助。目前在使用Lua进行脚本的开发,可是官方并没有提供...转载 2020-01-27 08:38:24 · 617 阅读 · 0 评论 -
使用ZeroBrane Studio进行LUA远程调试
使用ZeroBrane Studio进行LUA远程调试https://my.oschina.net/u/816723/blog/871823最近发现一款老外做的luaIDE支持C/S远程调试功能,搭建测试环境非常简单。ZeroBrane Studio官方地址:https://studio.zerobrane.com/doc-remote-debugging1、下载IDE,我现在的是Ze...转载 2020-01-27 08:36:55 · 991 阅读 · 0 评论 -
XLua Lua访问C#中的方法(四)访问枚举
XLua Lua访问C#中的方法(四)访问枚举https://blog.csdn.net/xmx5166/article/details/90712888在Lua中有以下五种方法可以访问到枚举变量:当作普通的静态属性访问使用__CastFrom函数,从枚举值对应的数值做类型转换使用__CastFrom函数,从枚举值对应的字符串做类型转换直接传入枚举值对应的数值直接传入枚举值对应...转载 2020-01-25 10:39:46 · 1313 阅读 · 0 评论