1. Lua解释器Lua解释器是什么? Lua解释器是一个使用Lua标准库实现的独立的解释器,是一个很小的Lua应用(总共不超过500行的代码)。解释器负责程序和使用者的接口:从使用者那里获取文件或者字符串,并传给Lua标准库,Lua标准库负责最终的代码运行。当Lua作为独立程序运行的时候,Lua和...
转载
2014-06-19 17:03:00
306阅读
2评论
数组、记录、线性表、队列和集合等,在Lua中都可以通过table来表示。 一、数组 在Lua中通过整数下标访问表中的元素即可简单的实现数组。并且数组不必事先指定大小,大小可以随需要动态的增长。 a = {}
for i = 1,100 do
a[i] = 0
转载
2024-05-28 09:23:10
90阅读
Least Recently Use LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。什么是LRULRU的最简单实现手写LRU 什么是LRU利用LinkedHashMap实现的简单LRU看看如何使用手写LRU(利用数组)手写LRU(利用LinkedList) 什么是LRU距离
转载
2024-08-12 18:11:36
51阅读
设z主函数中定义了数组str[][],实参为str,形参应该如何表示?二维数组作为参数传递到函数有三种方式:1:直接传递2:指针传递,将二维数组的第一行传递3:利用二级指针进行传递实参为str,str表示排长,表示一维数组的起始地址,所以形参也必须是一个基类型为指向一维数组的指针变量,因为形参和实参的基类型必须相同,形参为str[][5],实参传的是一个二维数组的第一行的起始地址,形参表示一个二维
文章目录一、静态数组和动态数组1.静态数组的缺点2.动态内存分配与动态数组2.1 动态内存分配2.2 动态数组2.3 内存与堆与栈二、自定义函数返回数组1.常见错误2.返回数组的函数三. 总结四. 参考 提示:以下是本篇文章正文内容,下面案例可供参考一、静态数组和动态数组1.静态数组的缺点1.数组长度必须事先制定,不能为变量,必须为常整数;
2.传统定义的数组,其内存无法被程序员手动释放。在函数
目录数组传参的传递方式有两种: 值传递值传递的例外:原因:数组传参时发生了“降维”,实际上传入的是该数组首元素的指针地址传递C++中主要有两种能实现地址传递的方法:实现一些功能时,我们经常要把数组传进函数中进行操作。数组传参的传递方式有两种:值传递地址传递 值传递值传递的例外: &nb
学习Lua的最终目的就是为了和C/C++互调,所以C API是承上启下的重头戏。核心思想:Lua与C通过一个抽象的栈进行通信。你可以理解为Lua和C各司其职,只是通过栈进行沟通,类似操作系统的进程通讯一样。这样做至少有两点好处:1. 程序员不必关心另一个语言是如何工作的,只需要清楚有哪些值是自己需要的 2. 避免类型不一致或者动态内存管理带来的问题,因为C需要手动管理内存,而Lua有自
此文转自://blog..net/perfect2011/article/details/19200511(感谢。。。) 首先了解下c++与lua之间的通信: 假设在一个lua文件中有如下定义 -- hello.lua 文件 myName = "beauty girl" 请注意红色数
转载
2022-01-11 17:46:27
192阅读
Lua是一种嵌入式脚本语言,即Lua不是可以单独运行的程序,在实际应用中,主要存在两种应用形式。第一种形式是,C/C++作为主程序,调用Lua代码,此时可以将Lua看做“可扩展的语言”,我们将这种应用称为“应用程序代码”。第二种形式是Lua具有控制权,而C/C++代码则作为Lua的“库代码”。在这两...
转载
2014-09-12 17:37:00
227阅读
2评论
本文转自://blog..net/a_asinceo/article/details/49907903(感谢。。。) 一、单个参数的传递 首先我们在Lua中注册一个C类PJYCallbackMgr,其中一个方法为: [java] view plain? int testLuaCall
转载
2022-01-11 17:44:31
306阅读
《programming in lua 》的第24章讲C语言的API函数。那么什么叫做lua解释器?书中的意思lua解释器就是除了lua脚本和lua库之外的C语言程序。lua脚本(由用户输入的字符串或文件组成) <-----> lua解释器 <-------->lua库(比如V5.1.4版本的库)===============
转载
2024-05-08 13:18:50
137阅读
1. 建一个新表void lua_createtable (lua_State *L, int narr, int nrec)创建一个新的table, 并把它放在栈顶. narr和nrec分别指定该table的array部分和hash部分的预分配元素数量无返回值栈高度+1, 栈顶元素是新table#define lua_newtable(L) lua_cre
转载
2024-05-22 12:03:27
375阅读
通过c++调用lua 脚本, 环境VC++6.0 lua sdk 5.1.4 在调用前先认识几个函数。1.调用lua_open()将创建一个指向Lua解释器的指针。2. luaL_openlibs()函数加载Lua库。3.使用luaL_dofile()加载脚本并运行脚本。4. lua_close()来关闭Lua指向解释器的指针。 5.调用lua_getglobal()将add()
转载
2014-06-19 17:03:00
299阅读
2评论
-- Lua数组--[[ 数组,就是相同数据类型的元素按照一定的顺序排列的集合,可以是一维数组和多维数组 Lua数组的索引键值可以使用整数表示,数组的大小不是固定的 一维数组 最简单的数组,其逻辑结构是线性表,一维数组可以用for循环出数组的元素。 来,上实例]]array = {"Lua","C","C++","Objective-C","Java","python"}
转载
2024-04-05 08:29:13
46阅读
数组操作在Lua中,“数组”只是table的一个别名,像lua_settable和lua_gettable这种操作table的函数,也可以用于操作数组。 然而API为为数组操作提供了专门的函数。 * 出于性能考虑,通常会在算法中用循环来访问数组 * 为了方便,像字符串key,整数key是很常用的//index表示在栈中的位置,key表示元素在 table中的位置
void lua_rawge
转载
2024-03-04 12:06:17
170阅读
在项目开发中会经常使用到这些js的基础API,在这里总结一些常用的API数组去重// 简单的数组去重
const array = [1, 2, 3, 4, 5, 6, 2, 3, 6, 9];
array.filter((item, key, arr) => arr.indexOf(item) === key);
// or
const newarr = [.
转载
2024-04-08 14:26:24
297阅读
1. lua 5.3 string.pack 和 string.unpackhttp://cloudwu.github.io/lua53doc/manual.html#6.4.2 用于 string.pack, string.packsize, string.unpack 的第一个参数。 它是一个描述了需要创建或读取的结构之布局。 格式串是由转换选项构成的序
转载
2024-05-27 14:11:38
222阅读
Lua源码分析 --对象表示Lua是动态类型的语言,即是说类型附着于值而不变量[1]. Lua的八种基本类型空,布尔, 数值, 字符串,表, 函数和用户数据.所有类似的值都是虚拟机的第一类值. Lua解释器将其表示成为标签联合(tagged union).如下面代码示例所示: lobject.h : 56
/*
** Union of all Lua values
*/
typedef unio
转载
2024-02-23 20:14:35
94阅读
Ldoc是一个类似doxygen的文档生成工具,doxygen功能更强大但是不支持lua语言,所以需要专门的Ldoc工具来编写Lua文档:https://github.com/stevedonovan/LDoc在官方的README.md页面中对安装过程描述很含糊,以至于弄了不少时间(真不知道是自己理解能力有问题还是他们表达能力有问题,无语)。不过,我发现程序员应该知道自己要装的工具用来做什么的。比
转载
2024-07-23 09:06:35
92阅读
数组下标是从1开始:[code="lua"]local arr1 = {1, 2, 3,6, [5]=5}print(arr1[4])print(arr1[5])65[/code]
原创
2023-04-11 00:30:08
317阅读