Lua
kanguolaikanguolaik
2013.08.07 今天是个好日子
展开
-
Lua与C之间的交互
Lua与C之间的交互一、Lua与C之间的交互1.1 C调用lua函数一、Lua与C之间的交互1.1 C调用lua函数代码:test.lua:function add(x, y) return x + yendtest.c:#include <stdio.h>#include "lua.h"#include "lauxlib.h"#include "lualib.h"int lua_add(lua_State *L){ lua_getg原创 2020-09-04 11:33:55 · 193 阅读 · 0 评论 -
Lua:模块、使用位操作BitOp、C API(Lua与C互相调用)
一、模块1.1 概述创建一个模块最简单的方法是: 1. 创建一个table; 2. 并将所有需要导出的函数放入其中; 3. 最后返回这个table。1.2 代码文件:test.luacomplex = {}function complex.add(x, y) return x+yendreturn原创 2015-09-08 20:41:19 · 4156 阅读 · 1 评论 -
Lua:安装使用Lua扩展库LuaSocket
一、下载、安装1.1 下载 文件名:luasocket-2.0.2.tar.gz 下载地址:http://files.luaforge.net/releases/luasocket/luasocket http://luaforge.net/projects/ github源码下载原创 2016-05-11 09:39:41 · 14759 阅读 · 0 评论 -
Lua:下载安装lua-cjson,lua操作json代码,指定require搜索路径
一、下载安装1.1 lua-cjson官网 官网:http://www.kyne.com.au/~mark/software/lua-cjson-manual.html1.2 下载安装 wget http://www.kyne.com.au/~mark/software/download/lua-cjson-2.1.0.tar.gz t原创 2016-03-10 17:05:28 · 11128 阅读 · 0 评论 -
Lua:访问模块、创建模块、子模块与包
一、加载模块1.1 加载模块#!/usr/bin/env lua--complex = require "package.complex"complex = require "complex"print (complex.add(3,4))二、创建模块2.1 创建一个table,并将需要导出的函数放入其中,最后返回这个table#!/usr/bin/e原创 2015-11-25 18:46:56 · 1836 阅读 · 0 评论 -
Lua:table对象、类、继承、多重继承
一、table对象1.1 table有自己的操作#!/usr/bin/env lua--table AccountAccount = { balance = 0 }function Account.withdraw(v) Account.balance = Account.balance - vend--a = Account; --Account = n原创 2015-11-25 18:25:46 · 772 阅读 · 0 评论 -
Nginx+Lua访问Redis
一、代码1.1 准备1. 启动redis src/redis-server2. 启动redis客户端,设置domain src/redis-cli set domain *.baidu.com1.2 代码local redis = require "resty.redis"local cache = redis.原创 2015-11-19 16:24:52 · 2931 阅读 · 0 评论 -
Lua:Nginx Lua环境配置,使用openresty
一、OpenRestry介绍 OpenRestry是一个包,包含了很多常用的第三方模块,以及他们的大多数依赖项。 特别是Lua功能。二、配置Nginx Lua环境2.1 编译、安装Nginx Nginx编译:Linux http://blog.csdn.net/guowenyan001/article/details/1原创 2015-09-07 17:29:31 · 1132 阅读 · 0 评论 -
Lua程序设计:第2章 类型和值
8中基础类型一、nil(空)二、boolean(布尔) 值:false和true。 Lua将false和nil视为“假”,其余都为“真” 将数字零和空字符串也视为“真”。三、number(数字) number类型用于表示实数。 Lua没有整数类型。四、string(字符串)原创 2015-09-07 20:24:16 · 596 阅读 · 0 评论 -
Lua程序设计:第4章 语句
一、赋值1.1 概述 修改一个变量或table中字段的值。 多重赋值: 先对等号右边的所有元素求值,然后才进行赋值 a,b=10,20 x,y = y, x 交换x、y的值。1.2 实例二、局部变量 loca原创 2015-09-07 21:10:49 · 574 阅读 · 0 评论 -
Lua:几个名词,Lua、JIT、LuaJIT
一、Lua Lua是个脚本语言。二、JIT2.1 静态编译 在程序运行前,全部被翻译成机器码。2.2. 动态编译 一句一句边运行,边翻译。2.3 JIT 即时编译 即时编译(Just-In-Time Compiler)则混合了二者,一句一句编译源代码,但会将编译过的代码缓存起来以降低性能损耗。原创 2015-09-06 20:17:26 · 2120 阅读 · 0 评论 -
Lua:编译安装LuaJIT,第一个Lua程序
一、下载LuaJIT 文件名:LuaJIT-2.0.2.tar.gz 下载地址(官网):http://luajit.org/download.html wget -c http://luajit.org/download/LuaJIT-2.0.2.tar.gz二、编译、安装 tar zxvf LuaJIT-2.0.2.原创 2015-09-06 20:32:48 · 17073 阅读 · 1 评论 -
Lua:Nginx Lua环境配置,第一个Nginx Lua代码
一、编译安装LuaJIT Lua:编译安装LuaJIT,第一个Lua程序,http://blog.csdn.net/guowenyan001/article/details/48250427二、下载NDK与Lua_module2.1 下载NDK,解压缩 wget -c https://github.com/simpl/ngx_devel_kit/arch原创 2015-09-06 20:54:47 · 5248 阅读 · 0 评论 -
Lua程序设计:第6章 深入函数
一、几个概念1.1 第一类值在Lua中函数其他传统类型的值具有相同的权利。 函数可以存储到变量或table中; 可以作为实参传递给其他函数; 可以作为其他函数的返回值。1.2 词法域 一个函数可以嵌套在另一个函数中,内部的函数可以访问外部函数的变量。1.3 高阶函数(higher-order function)原创 2015-09-09 18:07:08 · 694 阅读 · 0 评论 -
Lua程序设计:第5章 函数
一、调用参数1.1 调用参数概述 将所有参数放在一对圆括号中,即使没有参数也必须写一对圆括号。 特殊情况: 一个函数只有一个参数,且参数的一个字面字符串或table构造式,圆括号可有可无。1.2 代码--functionfunction add(x, y) return x + yendprint原创 2015-09-09 16:53:33 · 558 阅读 · 0 评论 -
Lua程序设计:第1章 开始
一、运行Lua程序1.1 Lua 脚本 lua hello.luaprint("Hello World")1.2 Lua shell print ("Hello World")1.3 Lua 脚本(改进) ./hello.lua#!/usr/bin/luaprint("Hello World")原创 2015-09-07 18:56:04 · 651 阅读 · 0 评论 -
Lua程序设计:第3章 表达式
一、算术运算符 +、-、*、/ ^ 指数 % 求余 - 负号二、关系运算符 >、=、 ==、~=(不等于)三、逻辑运算符 and、or、not 所有逻辑运算符将false和nil视为假,其余的都视为真。四、优先级4.1 优先级原创 2015-09-07 20:45:27 · 623 阅读 · 0 评论