转自http://blog.chinaunix.net/uid-52437-id-2108789.html Lua 的函数是一阶类型值(first-class value),定义函数就象创建普通类型值一样(只不过函数类型值的数据主要是一条条指令而已),所以在函数体仍然可以定义函数。假设函数f2定
转载 2015-03-03 10:18:00
122阅读
文章目录1.Demo框架解读2.热更流程测试(编辑器平台)热更前:要热更的代码:Lua代码:3.Android流程模拟器配置打包,运行路径分隔符修改打热更包:做预制体Assetbundlexlua修改逻辑重新生成版本文件上传服务器:(IIS本地服务器演示)再次打开模拟器运行4.代码地址:1.Demo框架解读1.首先MonoMain作为程序主入口,在执行完版本检查之前所有的脚本都不进行加载,执行完
学习递归的目的,最终是运用递归解决问题。理解递归的运行模型(https://zhuanlan.zhihu.com/p/166173378)之后,就能根据递归函数的静态代码推算执行结果了。实际上,对递归函数的执行结果的推算,可从另一个途径进行,即运用类似于数学归纳法的思想。下面以计算阶乘的递归函数为例说明。 考察递归函数int fact(int n)1.它确实能正确计算0的
面试场景纯属娱乐,但这个面试题确实是笔者真实遇到过的,今天我们就来看看redis执行lua脚本的原理,希望通过本篇学习可以解决心中的困惑,更深层次的讲可以了解到两种不同语言沟通的一点思想,我觉得这个是最宝贵的。名词解释redis:一个高性能的k,v数据库,基于C语言编写;lua:一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序,从而为应用程序提供灵活的扩
转载 2024-06-26 10:26:07
46阅读
Lua 的函数是一阶类型值(first-class value),定义函数就象创建普通类型值一样(只不过函数类型值的数据主要是一条条指令而已),所以在函数体仍然可以定义函数。假设函数f2定义在函数f1,那么就称f2为f1的内嵌(inner)函数,f1为f2的外包(enclosing)函数,外包...
转载 2015-02-08 20:59:00
128阅读
2评论
Lua的function、closure和upvalue 来源 http://www.cnblogs.com/youxin/p/3805263.html Lua的函数是一阶类型值(first-class value),定义函数就象创建普通类型值一样(只不过函数类型值的数据主要是一条条指令而已),所
转载 2017-10-28 23:51:00
98阅读
Lua的函数是一阶类型值(first-class value),定义函数就象创建普通类型值一样(只不过函数类型值的数据主要是一条条指令而已),所以在函数体仍然可以定义函数。假设函数f2定义在函数f1,那么就称f2为f1的内嵌(inner)函数,f1为f2的外包(enclosing)函数,外...
转载 2014-06-24 00:45:00
76阅读
2评论
探秘高效JSON解析库:lua-cjson项目地址:https://gitcode.com/gh_mirrors/lua/lua-cjson在Web开发,JSON(JavaScript Object Notation)已经成为数据交换的主要格式。而当我们在 Lua 环境处理 JSON 数据时,lua-cjson 是一个不可忽视的强大工具。本文将深入探讨 lua-cjson 的背景、技术特性,以
转载 10月前
3阅读
泛型for迭代器泛型for迭代器会在自己内部保存迭代函数,它会保存三个值:迭代函数、状态常量、控制变量。Lua默认的迭代函数为ipairs下面我们看看范性for的执行过程:首先,初始化,计算in后面表达式的值,表达式应该返回范性for需要的三个值:迭代函数、状态常量、控制变量;与多值赋值一样,如果表达式返回的结果个数不足三个会自动用nil补足,多出部分会被忽略。第二,将状态常量和控制变量作为参数
转载 2024-09-13 07:38:21
29阅读
1、lua_next(L, t_idx) 参数解释: L:虚拟机 t_idx:table在栈索引 返回 int:0执行失败;非0执行成功 该函数的执行流程为: ①:先从栈顶弹出一个key; ②:从栈指定位置的table取下一对key-value对,先将key入栈,再将value入栈; ③:如果②成功则返回非0值;否则返回0,并且不向栈压入
转载 2024-04-06 01:02:00
758阅读
Lua提供以下类型的循环来处理循环需求。编号循环类型描述1while循环在给定条件为真时重复语句或语句组,它在执行循环体之前测试条件。2for循环多次执行一系列语句,并缩写管理循环变量的代码。3repeat…unti循环重复语句组的操作,直到满足until条件。4嵌套循环可在任何循环中使用另一个或多个循环,如:while,for或do..while循环。循环控制声明循环控制语句从正常顺序改变执行。
转载 2024-08-09 12:50:46
71阅读
[由于lua内核升级到5.1,因此,luaplus也同样跟着升级。最新的luaplus可以通过svn获取,地址 svn://svn.luaplus.org/LuaPlus/work51, 同时,luaplus基于5.0的内核仍然在维护更新,也可以通过svn获取,地址 svn://svn.luaplus.org/root/LuaPlus/Dev ]我将在下面说明,如何使用LuaPlus,以及如何更方
dofile函数使用在交互模式下我们只能一句一句的输入输出代码如果我们想要程序执行一段代码之后再进入交互模式我们就可以使用dofile函数lua函数的写法菜鸟教程解释 Lua 函数 在Lua,函数是对语句和表达式进行抽象的主要方法。既可以用来处理一些特殊的工作,也可以用来计算一些值。 Lua 提供了许多的内建函数,你可以很方便的在程序调用它们,如print()函数可以将传入的参数打印在控制台上
转载 2024-06-21 07:07:06
338阅读
这里主要写Lua的字符串TString相关结构和算法。文章没有贴Lua源码,只画出了结构图,和算法的伪代码。这样阅读起来更加直观。一、TString的概述 1、lua字符串是常量,例s = s .. 1 创建了一个新的字符串赋值给s,并不是改变了s字符串的数据。 2、lua字符串分为长字符串和短字符串。 长字符串和短字符串区别 (1)存储方式: 短字符串:全局存储一份 长字符串:多份 (
转载 2024-03-22 11:02:25
210阅读
之前一直没理清lua_gettable和lua_settable的使用,今天理清了,顺便就做下笔记了。 1.lua_gettable void lua_gettable (lua_State *L, int index);把t[k] 值压入堆栈,这里的 t 是指有效索引 index 指向的值,而 k 则是栈顶放的值。这个函数会
转载 2024-06-13 20:41:56
248阅读
iuplua 简易记事本开发iup版本:3.30 32位 lua版本:5.3.5 32位 自己根据官网教程写了一下,对iup的感觉就是麻雀虽小五脏俱全.在嵌入是上做些简单的功能还是可以的,不过估计嵌入式上一般都用qt.微型机上估计用iup的比较多. 稍微例举一下优点: 1.小巧,支持使用lua语言,调试的时候不用编译过,直接可以根据lua文件运行; 2.自带一些图标库,常用的一下事件都有封装; 给
转载 2024-04-14 06:54:05
44阅读
文章目录1.泛型迭代模式的两个组成部分2.泛型迭代器的形式2.1 泛型迭代的调用形式2.2 泛型迭代器的explist参数3.从使用开始,一步一步实现自己的迭代器3.1 获取一个迭代函数3.2 使用迭代函数3.2 自定义迭代函数3.4 迭代函数的多返回值4.迭代器生成函数5.带状态的迭代函数6.总结 Lua中有一个很重要的知识点就是迭代器,迭代器通常用于对集合进行遍历,在lua中提供了for/w
转载 2024-04-14 21:45:57
189阅读
0x02基础类型Lua有总共8种基础类型: nilbooleannumberstringuserdatafunctionthreadtablee.g:print(type("hello")) -->string print(type(2)) -->number print(type(true)) -->boolean print(type(print)) -->fun
转载 2024-03-17 14:54:19
82阅读
进入vi的命令  vi filename :打开或新建文件,并将光标置于第一行首  vi +n filename :打开文件,并将光标置于第n行首  vi + filename :打开文件,并将光标置于最后一行首  vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处  vi -r filen
转载 2024-07-29 18:09:34
232阅读
一、介绍红点系统是游戏和各种软件中常用的系统,本文的目的是使用lua实现一个基于树结构的简单红点系统;代码如下local RedPointManager = {} local RedPointCPTb = { RP_UI2_Btn1 = 'RP_UI1_Btn0', } function RedPointManager:Init() self:InitRedPropertyTb() e
  • 1
  • 2
  • 3
  • 4
  • 5