Weak表Lua自动进行内存的管理。程序只能创建对象(表,函数等),而没有执行删除对象的函数。通过使用垃圾收集技术,Lua会自动删除那些失效的对象。 Weak表是一种用来告诉Lua一个引用不应该防止对象被回收的机制。 表有keys和values,而这两者都可能包含任何类型的对象。 要注意,只有对象才可以从一个weak table中被收集。记忆函数记忆技术在保持一些类型对象的唯一性上同样有用。
转载 2024-09-21 10:25:17
17阅读
lua里的文件读写模型来自C语言,分为完整模型(和C一样)、简单模型。1、简单模型io.input([file])  设置默认的输入文件,file为文件名(此时会以文本读入)或文件句柄(可以理解为把柄,有了把柄就可以找到文件),返回文件句柄。io.output([file])  设置默认的输出文件,参数意义同上。io.close([file]) 关闭文件,不
I/O库用于读取和操作Lua中的文件。 Lua中有两种文件操作,即隐式文件描述符和显式文件描述符。对于以下示例,将使用示例文件 - test.lua,内容如下所示 --- sample test.lua-- sample2 test.lua文件打开操作使用以下语句 -file = io.open (filename [, mode])下表列出了各种文件模式 -编号模式描述1r只读模式,是打开现有文
       最近需要给游戏做一个敏感词新系统,我采用的方法是比较常用的DFA(确定有穷状态机)算法,先不讲算法,而这种算法的实现需要一个相应的敏感词库。      我拿到了词库后发现词库中大概有8000+个词,其中包括很多重复的,还有很多有着头包含关系的词;  什么是头包含词呢? 看如下例子:  我们知道在DFA算法读取敏感词
转载 2024-03-19 16:02:56
44阅读
 零碎知识点:lua:用lua写UI,更新UI,因为lua可直接跨平台解析,不需要编译,方便更新------>热更新.c#反射也可以达到更新,但非常麻烦,切不支持iOS.在lua中一个人汉字占两个字符,删除的时候需要删两次.用type()可以获取变量类型.如果不定义变量类型,默认为全局变量,局部关键字为:local.判断语句:if xt<=0 then------------
转载 2024-03-22 19:24:55
74阅读
从本篇博客开始研究一下Lua,现在Lua真得是很火,因为Cocos2d-x写游戏的时候会用到,所以就拿过来学学吧,先从基础的语法开始,然后慢慢的深入。本人也是刚刚学习,希望和学习Lua的大家交流,博客权当笔记,有错误之处还请赐教。当然首先是搭建开发环境了,我的学习背景是Cocos2d-x,所以下载了最新发布的Cocos Code IDE,我们可以在Cocos Code IDE上边新建工程,然后写L
转载 2024-06-26 10:27:20
51阅读
Lua的特点概括:轻量级动态语言,解释型语言脚本语言,适合写游戏逻辑。脚本语言运行于虚拟机之上,虚拟机运行在游戏逻辑上。开源语言。官网:http://www.lua.org/download.html Lua由C语言编写而成,像一个工具包,可扩展性强Lua概念介绍网站:Lua入门教程网:http://www.runoob.com/lua/lua-tutorial.html开始学习《Lua程序设计第
转载 2024-04-12 22:11:06
42阅读
Lua字符串*注*:本文根据 lichuang/Lua-Source-Internalgithub.com 修改而成,原文参考Lua版本为5.1.4,本文参考Lua版本为5.3.5本文 Github 地址: yangruihan/Lua-Source-Internalgithub.com 上一章:[Lua虚拟机解析系列]01 Lua中的数据类型,传送门0. 概述C 语言并没有自带
Lua 迭代器迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址在Lua中迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素。泛型泛型泛型for k, v in pairs(t) do print(k, v) end上面代码中,k, v为变量列表;pair(t)为表达式列表。查看以下实例:array = {"L
转载 2024-06-28 15:06:20
85阅读
       最近需要给游戏做一个敏感词新系统,我采用的方法是比较常用的DFA(确定有穷状态机)算法,先不讲算法,而这种算法的实现需要一个相应的敏感词库。      我拿到了词库后发现词库中大概有8000+个词,其中包括很多重复的,还有很多有着头包含关系的词;  什么是头包含词呢? 看如下例子:  我们知道在DFA算法读取敏感词
转载 2024-04-29 22:57:46
9阅读
赋值赋值的基本含义是修改一个变量或一个table中字段的值,这个和其它语言没有多少区别,但是对于Lua,有一个特性,它允许“多重赋值”,也就是一下子将多个值赋予多个变量,例如以下代码:local x1, x2 = 2, 4 print(x1) -->2 print(x2) -->4在多重赋值中,Lua先对等号右边的所有元素求值,然后才执行赋值,例如以下用法,可以非常简便
转载 2024-03-19 09:12:17
45阅读
时间:2018-03-12 记录:byzqy1、lua语法基础:程序块lua中连续的语句之间不需要使用分隔符,如果需要分隔,可以使用分号(;)进行分隔!lua中换行是不起作用的,会被当做一个空格来处理。lua中在书写连续的语句时可以不换行,这也是合法的。但是由于可读性太差,所以不推荐!cmd中输入:lua 然后点击回车,可以运行lua解释器。会显示lua版本信息,并进入lua命令提示符!在cmd的
转载 2024-02-09 11:58:24
1652阅读
一.如何写Lua代码1).编写高性能的Lua代码 以下是对上面文章的摘录和总结这篇文章是基于Lua语言的创造者 Roberto Ierusalimschy 在 Lua Programming Gems 中的 Lua Performance Tips 翻译改写而来1.使用local在写Lua代码时,应该尽量使用local变量。在代码运行前,Lua会把源码预编译成一种中间码,类似于Java的虚拟机。这
转载 2024-03-19 10:57:23
110阅读
Lua称为解释型语言的原因:Lua允许在运行源代码之前,先将源代码预编译为一种中间形式。区别解释型语言的主要特征是在于编译器是否是语言运行时库的一部分,即有能力执行动态生成的代码。因为Lua中有dofile函数,才可以将Lua成为一种解释型的语言。        运行Lua代码块有三种形式:   &nbsp
转载 2024-04-25 17:09:23
118阅读
 1.聊天系统难题一:消息需要支持插入表情和换行。一开始我打算借鉴上面文章中的方法自己用label和image拼接实现自己的富文本,后来同事建议我使用cocos2dx自带的富文本空间RichText,网上找了一些例子学习,在代码中使用发现效果还不错,可以插入图片,也支持自动换行(通过setContentSize(cc.size(width,height))来设置空间的宽高之后,超过宽度的
转载 2024-03-18 19:52:32
191阅读
作为配置语言是lua的一个重要应用,lua文件在配置应用中非常灵活,可以直接读取文件中的全局量的值,也可以读取表以及嵌套表。一、lua使用方式个人理解,根据应用的场景和复杂程度,可以分为以下几种情况:1、场景较简单,lua文件中使用全局量配置值如:test.lua-- configguration file for probram c width = 200 height = 300 back
转载 2024-03-07 09:51:32
159阅读
一、lua函数在面向对象语言中函数是一组一起执行任务的语句。可以把代码放到独立的函数中。怎么划分代码功能之间的不同,但在逻辑上划分通常是让每个函数执行特定的任务。在Lua中,函数是作为"第一类值"来使用的,在lua中函数可以存储在变量中,可以通过参数传递给其他函数,或者作为函数的返回值(类比C/C++中的函数指针),这种特性使Lua具有极大的灵活性。Lua对函数式编程提供了良好的支持,可以支持嵌套
转载 2024-03-06 00:22:00
86阅读
Cocos2d-x下Lua调用自定义C++类和函数的最佳实践 关于cocos2d-x下Lua调用C++的文档看了不少,但没有一篇真正把这事给讲明白了,我自己也是个初学者,摸索了半天,总结如下:cocos2d-x下Lua调用C++这事之所以看起来这么复杂、网上所有的文档都没讲清楚,是因为存在5个层面的知识点:1、在纯C环境下,把C函数注册进Lua环境,理解Lua和C之间可以互相调用的本质
转载 5月前
21阅读
Lua常用语法Lua基础数据类型如下nil 只有值nil属于该类,表示一个无效值(判断为false)任何数据被赋值为nil时,相当于删除。 boolean 包含两个值:false和true。 number 表示双精度类型的实浮点数 string 字符串由一对双引号或单引号来表示 function 由 C 或 Lua 编写的函数 userdata 表示任意存储在变量中的C数据结构 thread 表示
转载 2024-03-18 19:27:45
130阅读
前言在上一篇我们说明了如何基于centos7系统快速搭建lua,本篇将接着说明lua常用的数据类型以及基础语法关键字 下列是 Lua 的关键字,大家在定义常量、变量或其他用户自定义标识符都要避免使用以下这些关键字:  一般约定,以下划线开头连接一串大写字母的名字(比如 _VERSION) 被保留用于 Lua 内部全局变量。这个也是上面我们不建议这么定义标识 符的原因。 运算
  • 1
  • 2
  • 3
  • 4
  • 5