![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Lua
文章平均质量分 70
YZF_Kevin
若有恒,何必三更眠五更起;最无益,莫过一日曝十日寒
展开
-
ubuntu安装lua
服务器版本:Ubuntu 18.04.6lua版本:lua-5.1.5安装步骤1. 上传lua安装包,笔者是放在了目录/home/install_package下面,运行命令 tar -zxvf lua-5.1.5.tar.gz,解压。解压后如下图 2. 进入目录 lua-5.1.5, 运行命令 make linux test 进行编译安装,几乎一定会报错,luaconf.h:275:10: fatal error: readline/readline.h: No such file or dire原创 2022-06-24 18:51:27 · 2155 阅读 · 0 评论 -
lua之弱引用table
Lua之弱引用table核心原理:lua的弱引用不增加引用计数这篇文章主要介绍了Lua教程之弱引用table,本文讲解了自动内存管理的缺陷、弱引用table、三种形式的弱引用等内容,需要的朋友可以参考下这次要介绍的内容比较少,就一个——弱引用table1.无法超越人类智慧的智能——自动内存管理的缺陷我们都知道,Lua是具备自动内存管理的,好吧,也许有些朋友不知道。我们只管创...转载 2019-03-13 19:39:51 · 404 阅读 · 2 评论 -
lua 求table长度和判断空
local table_a = {} 判断一:(错误方法) if table_a == {} then --你会发现你怎么也进不来 条件判断始终返回false,为什么会这样呢? --原因:{}相当于创建了一个表,只不过这个表的名字是匿名的,你看不到,我们假设它叫table_b --你会发现判断条件变成了比较table_a、t...转载 2019-03-12 15:59:54 · 779 阅读 · 0 评论 -
实现lua面向对象的private属性
代码示例function GetPerson() -- 要封装的类 local Person = { ID = 0, -- ID name = "", -- 名字 } -------------------------- 封装的操作 --------------------------------- -- 设置ID local funct...原创 2018-05-20 21:40:23 · 2018 阅读 · 0 评论 -
lua实现多继承-方式2
原理1. lua的面向对象是基于元表metatable实现的,原理即在一个表中查找不到,就到元表中查找2. lua的多继承原理即在一个表中查找不到,则到多个表中进行查询代码示例----------------------------------------- 基类BaseClass1 -------------------------------------------- 类BaseC...原创 2018-05-20 19:16:10 · 809 阅读 · 2 评论 -
lua实现多继承-方式1
原理1. lua的面向对象是基于元表metatable实现的,原理即在一个表中查找不到,就到元表中查找2. lua的多继承原理即在一个表中查找不到,则到多个表中进行查询代码示例----------------------------------------- 基类BaseClass1 -------------------------------------------- 类BaseC...原创 2018-05-20 18:42:16 · 1541 阅读 · 0 评论 -
lua的面向对象编程,封装,继承,多态的实现
简介1. lua面向对象编程是基于元表metatable,元方法__index来实现的,具体元表和元方法的介绍 请见Lua的元表metatable及元方法2. 语法糖语法糖是由英国计算机科学家彼得·约翰·兰达(Peter J. Landin)发明的一个术语,指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用 举例说明:数组ch...原创 2018-05-07 00:48:43 · 4727 阅读 · 9 评论 -
Lua中的loadfile、dofile、require详解
这篇文章主要介绍了Lua中的loadfile、dofile、require详解,本文分别用实例讲解它的用法和特点等内容,需要的朋友可以参考下本来今天不应该讨论这几个函数的,不过,为了凑字数..不,为了方便以后的文章,还是要谈谈这几个基础函数的~1.loadfile——只编译,不运行loadfile故名思议,它只会加载文件,编译代码,不会运行文件里的代码。比如,我们有一个hellofile.lua文...转载 2018-05-03 22:25:48 · 850 阅读 · 0 评论 -
Lua基础之math(数学函数库)
Lua5.1中数学库的所有函数如下表:math.pi 为圆周率常量 = 3.14159265358979323846abs取绝对值math.abs(-15)15acos反余弦函数math.acos(0.5)1.04719755asin反正弦函数math.asin(0.5)0.52359877atan2x / y的反正切值math.atan2(90.0, 45.0)1.10714871atan反正切...原创 2018-04-19 11:29:34 · 391 阅读 · 0 评论 -
深入理解lua的协程coroutine
1. 概述lua协程和多线程相同之处:拥有自己独立的桟、局部变量和PC计数器,同时又与其他协程共享全局变量和其他大部分东西不同之处:一个多线程程序可以同时运行几个线程(并发执行、抢占),而协程却需要彼此协作地运行,并非真正的多线程,即一个多协程程序在同一时间只能运行一个协程,并且正在执行的协程只会在其显式地要求挂起(suspend)时,它的执行才会暂停(无抢占、无并发)。注意:由于Lu...原创 2018-04-18 12:21:49 · 26844 阅读 · 5 评论 -
lua的元表metatable及元方法
前言元表对应的英文是metatable,元方法是metamethod。我们都知道,在C++中,两个类是无法直接相加的,但是,如果你重载了“+”符号,就可以进行类的加法运算。在Lua中也有这个道理,两个table类型的变量,你是无法直接进行“+”操作的,如果你定义了一个指定的函数,就可以进行了。那这篇博文就是主要讲的如何定义这个指定的函数,这个指定的函数是什么?希望对学习Lua的朋友有帮助。Lua是...转载 2018-04-07 16:10:29 · 1395 阅读 · 0 评论 -
linux centos 编译Lua5.2.0 静态库 动态库
一 lua下载 lua5.2.0下载地址 :http://download.csdn.net/download/yzf279533105/9949183二笔者这里linux环境为centos6.8 64位仅编译lua静态库1. 从上面的下载地址下载得到lua-5.2.0.tar.gz压缩包,笔者这里是放在了/home目录下2. 进入目录 /home,执行解压原创 2017-08-25 22:26:38 · 4735 阅读 · 0 评论 -
win7 VS2008 不需新建工程 命令行编译lua5.1.5
一 lua下载 lua5.1下载地址 :http://download.csdn.net/download/yzf279533105/9962399二 Windows下编译静态库步骤:1. 从上面的地址下载得到lua-5.1.5.tar.gz文件,解压得到lua-5.1.5文件夹,笔者这里解压后的根目录为:H:\blog\lua\lua-5.1.52. 从“开始菜单”中打开原创 2017-09-03 22:57:00 · 823 阅读 · 0 评论 -
win7 VS2013 新建工程 编译lua5.1 静态库
一 lua下载 lua5.2.0下载地址 :http://download.csdn.net/download/yzf279533105/9960888二 Windows下:编译静态库步骤:1. 从上面的地址下载得到lua-5.1.tar.gz文件,解压得到lua-5.1文件夹2.打开VS2013, 打开“文件” -> “新建” -> “项目” -> 左侧选择“Visual原创 2017-09-01 21:58:28 · 745 阅读 · 0 评论