代码改变世界

随笔分类 -  Lua

LuaJIT编译

2020-12-22 15:17 by youxin, 1287 阅读, 收藏, 编辑
摘要: https://luajit.org/install.html LuaJIT的运行环境包括一个用手写汇编实现的Lua解释器和一个可以直接生成机器代码的JIT编译器。Lua代码在被执行之前总是会先被lfn生成LuaJIT自己定义的字节码ByteCode。 开始时Lua字节码总是被LuaJIT的解释器解 阅读全文

lua State加载部分库

2015-10-28 18:03 by youxin, 828 阅读, 收藏, 编辑
摘要: 在lua中,通常我们用luaL_openlibs(L)加载所有的lub标准库,但是有时候我们想只加载部分,有没有什么好的办法呢?在luaproc看到如下办法:static void registerlib( lua_State *L, const char *name, lua_CFunctio... 阅读全文

luarocks模块管理工具

2015-10-18 21:18 by youxin, 1348 阅读, 收藏, 编辑
摘要: 1、简介该软件包可以安装和更新lua的第三方模块。2、下载地址请在 http://luarocks.org/releases/ 页面选择需要的软件包。wget http://luarocks.org/releases/luarocks-2.1.0.tar.gz3、安装tar -zxvf luaroc... 阅读全文

Lua的function、closure和upvalue

2014-06-24 00:45 by youxin, 1022 阅读, 收藏, 编辑
摘要: Lua中的函数是一阶类型值(first-class value),定义函数就象创建普通类型值一样(只不过函数类型值的数据主要是一条条指令而已),所以在函数体中仍然可以定义函数。假设函数f2定义在函数f1中,那么就称f2为f1的内嵌(inner)函数,f1为f2的外包(enclosing)函数,外... 阅读全文

Programming in lua 环境

2014-06-23 23:27 by youxin, 588 阅读, 收藏, 编辑
摘要: Lua 用一个名为environment 普通的表来保存所有的全局变量。(更精确的说,Lua在一系列的environment 中保存他的“global”变量,但是我们有时候可以忽略这种多样性)这种结果的优点之一是他简化了Lua 的内部实现,因为对于所有的全局变量没有必要非要有不同的数据结构。另一个(... 阅读全文

Lua和Javascript差异对比

2014-06-20 15:18 by youxin, 7984 阅读, 收藏, 编辑
摘要: Lua模拟器js方案1.语法级模拟lua与js语言差异1.1注释js 为//,lua为--.1.2变量js利用val来声明全局变量不存在局部变量,lua则不需要直接定位则为全局变量,local声明则为局部变量。1.3运算符js+ - * / % ++ --= += -= *= /= %=支持字符串 ... 阅读全文

Lua table pair和ipair区别

2014-06-20 15:10 by youxin, 1391 阅读, 收藏, 编辑
摘要: 官方描述:ipairs(t)Returns three values: an iterator function, the tablet, and 0, so that the constructionfor i,v inipairs(t) dobodyendwill iterate over th... 阅读全文

lua中求table长度

2014-06-20 14:55 by youxin, 7995 阅读, 收藏, 编辑
摘要: 关于lua table介绍,看以前的文章http://www.cnblogs.com/youxin/p/3672467.html。官方文档是这么描述#的:取长度操作符写作一元操作#。 字符串的长度是它的字节数(就是以一个字符一个字节计算的字符串长度)。tablet的长度被定义成一个整数下标n。 它满... 阅读全文

lua metatable和metamethod元表和元方法

2014-06-20 12:44 by youxin, 812 阅读, 收藏, 编辑
摘要: Lua中提供的元表是用于帮助Lua数据变量完成某些非预定义功能的个性化行为,如两个table的相加。假设a和b都是table,通过元表可以定义如何计算表达式a+b。当Lua试图将两个table相加时,它会先检查两者之一是否有元表,然后检查该元表中是否存在__add字段,如果有,就调用该字段对应的值... 阅读全文

Lua常用的数据结构表示

2014-06-19 18:44 by youxin, 979 阅读, 收藏, 编辑
摘要: 1.矩阵Lua中有两种表示矩阵的方法,一是“数组的数组”。也就是说,table的每个元素是另一个table。例如,可以使用下面代码创建一个n行m列的矩阵:mt = {} -- create the matrixfor i=1,N do mt = {} -- create a new ro... 阅读全文

VC和VS调用Lua设置以及Lua C API使用。

2014-06-19 17:03 by youxin, 2616 阅读, 收藏, 编辑
摘要: 通过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 C API

2014-06-19 17:03 by youxin, 781 阅读, 收藏, 编辑
摘要: 1. Lua解释器Lua解释器是什么? Lua解释器是一个使用Lua标准库实现的独立的解释器,是一个很小的Lua应用(总共不超过500行的代码)。解释器负责程序和使用者的接口:从使用者那里获取文件或者字符串,并传给Lua标准库,Lua标准库负责最终的代码运行。当Lua作为独立程序运行的时候,Lua和... 阅读全文

Lua function 函数

2014-06-19 14:31 by youxin, 8268 阅读, 收藏, 编辑
摘要: Lua支持面向对象,操作符为冒号‘:’。o:foo(x) o.foo(o, x).Lua程序可以调用C语言或者Lua实现的函数。Lua基础库中的所有函数都是用C实现的。但这些细节对于lua程序员是透明的。调用一个用C实现的函数,和调用一个用Lua实现的函数,二者没有任何区别。函数的参数跟局部变量一... 阅读全文

Lua面向对象

2014-06-19 01:18 by youxin, 213 阅读, 收藏, 编辑
摘要: http://www.cnblogs.com/stephen-liu74/archive/2012/07/06/2421656.html 阅读全文

Lua table使用

2014-04-18 09:27 by youxin, 6377 阅读, 收藏, 编辑
摘要: days = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}will initializedays[1]with the string"Sunday"(the fi... 阅读全文

Lua I/0输入输出

2014-04-17 20:11 by youxin, 1168 阅读, 收藏, 编辑
摘要: I/O库为文件操作提供了两种不同的模型,简单模型和完整模型。简单模型假设一个当前输入文件和一个当前输出文件,他的I/O操作均作用于这些文件。完整模型则使用显式的文件句柄,并将所有的操作定义为文件句柄上的方法。 1. 简单模型: I/O库会将进程标准输入输出作为其缺省的输入文件和输出文件。我们可以通过... 阅读全文

转:Lua简明教程

2014-04-17 18:47 by youxin, 381 阅读, 收藏, 编辑
摘要: 需要注意的是:lua中的变量如果没有特殊说明,全是全局变量,那怕是语句块或是函数里.这里很奇怪,为什么在函数内部声明的变量默认也是global的呢?函数的返回值和Go语言一样,可以一条语句上赋多个值,如:1name, age, bGay = "haoel", 37, false, "haoel@ho... 阅读全文

Lua参考手册

2014-04-17 17:17 by youxin, 1112 阅读, 收藏, 编辑
摘要: 英文原版:http://www.lua.org/manual/5.1/中文版下面2个地址都有:一样的manual.luaer.cnlua在线手册lua参考手册Lua参考手册的中文翻译(云风翻译版本)重要部分:2.2 –Values and TypesLua is adynamically typed... 阅读全文

Lua快速入门

2014-04-17 15:34 by youxin, 900 阅读, 收藏, 编辑
摘要: QuickLuaTour教程:(来自LuaForWindows的quickLuaTour)Lua变量类型:Lua 是一种动态类型语言。 这意味着变量没有类型,只有值才有类型。 语言中不存在类型定义。而所有的值本身携带它们自己的类型信息。(变量无类型,对象有类型)有8种基本类型:nil、布尔值(boo... 阅读全文

Lua开发环境配置

2014-04-17 14:45 by youxin, 2706 阅读, 收藏, 编辑
摘要: Lua(英语发音:/ˈluːə/)程序设计语言是一个简洁、轻量、可扩展的脚本语言,是葡萄牙语中“Luna”(月亮)的意思。Lua is a powerful, fast, lightweight, embeddable scripting language.Lua是一种功能强大,高效,轻量级的嵌入式... 阅读全文