lua

以下是为您整理出来关于【lua】合集内容,如果觉得还不错,请帮忙转发推荐。

【lua】技术教程文章

Lua的面向对象,封装,继承,多态【代码】【图】

概述  我们总所周知对象是由属性和方法组成的,要用lua要描述一个对象,也必然要有这两个特性,属性和方法。lua的基本结构是table,所以Lua的类,其实都是table,因为它可以存储普通的变量又可以存储方法,我们利用table就可以描述一个对象的属性和方法。对象其实lua要模拟一个对象,关键就在于__index设置元表索引这块,它主要起到索引失败后该怎么办,如果它指向一张表,那么__index索引失败后,它会到这张表中去查找有没有你指...

Ulua_toLua_基本案例(八)_LuaAccessingArray

Ulua_toLua_基本案例(八)_LuaAccessingArrayusing UnityEngine; using LuaInterface;public class AccessingArray : MonoBehaviour {private string script =@"function TestArray(strs)local len = strs.Lengthfor i = 0, len - 1 doprint(strs[i])endreturn 1, '123', trueend ";void Start(){LuaState lua = new LuaState();lua.Start();lua.DoString(script);string[] strs = { "aaa", "bbb", "ccc" };LuaFunctio...

lua正则表达式【图】

lua中的正则表达式,规则如图:常用示例,代码如下:-- 去掉首尾所有空格 function trim(s)return (string.gsub(s, "^%s*(.-)%s*$", "%1")) end local s = " space " local txt = trim(s) print(string.len(s), string.len(txt)) 输出: 7 5-- 查找固定开头和结尾的字符串 local s = "<url>http://xulidong.sinaapp.com/</url>" local sTag = '<url>' local eTag = '</url>' local _ , _ , txt = string.find(s,sTag.."(.-)"..eTag...

LUA require 搜索路径指定方法【代码】

如果是一个 *.LUA 的文件, 里面用到了自己写的库, 或者第三方写的库, 但是你不想把它放到 lua 的安装目录里, 则在代码里面可以指定require搜索的路径。package.path = ‘/usr/local/share/lua/5.1/?.lua;/home/resty/?.lua;‘ --搜索lua模块package.cpath = ‘/usr/local/lib/lua/5.1/?.so;‘ --搜索so模块如果是要在 nginx.conf 文件中引用第三方的库,则需要在 http 段中添加下面的代码lua_package_path ‘/usr/lo...

第一个Cocos2d-x Lua游戏【图】

第一个Cocos2d-x Lua游戏我们的编写的第一个Cocos2d-x Lua程序,命名为HelloLua,从该工程开始学习其它的内容。创建工程我们创建Cocos2d-x Lua工程可以通过Cocos2d-x提供的命令工具cocos实现,但这种方式不能与Cocos Code IDE集成开发工具很好地集成,不便于程序编写和调试。由于Cocos Code IDE工具是Cocos2d-x开发的专门为Cocos2d-JS和Cocos2d-x Lua开发设计的,因此使用Cocos Code IDE工具很方便创建Cocos2d-x Lua工程。首先我们...

手闲 用Lua写了个批量修改文件后缀名的小工具【代码】

1--[[--2- renameFilePostfix_: 统一重命名文件的后缀名3- @param: param1 - 原文件后缀名 4- @param: param2 - 目的文件后缀名5- @param: param3 - 目的文件前缀名6- @param: param4 - 目的文件文件夹路径7- @param: param5 - 原文件路径 8- @param: ...9- @param: paramn - 原文件路径 1011]]12localfunction renameFilePostfix(...) 13local arg = {...} 14local filename = nil15local fixF, fixT = arg[...

Lua学习之【1】:Mac平台下环境的搭建及Hello Lua的输出与编译

1、下载Lua安装包下载地址:http://www.lua.org/download.html,目前最新的Lua是5.2.3。解压得到doc、src、Makefile、README共4个文件。2、编译Lua环境1)控制台下cd Lua解压路径。2)执行make 平台,我是Mac,所以执行make macosx;3)在src中生成lua和luac两个可执行文件,这两个文件可以单独拿出来,比如我们在Lua解压路径下创建bin目录,将生成的可执行文件放进去。3、Hello Lua1)控制台直接输出:(1)在刚才生成的lua可执...

Lua初学习 9-14_01 数据结构 ---> 数组与矩阵

1:直接用table声明并初始化一个数组 arr = {1,2,3,4,5,6,7} ------> index 从 1 开始2:循环创建一个数组arr = {}for i =1, 1000 do arr[i] =0end------>拿到数组长度 #arr(即时arr index从 -100 或者 99开始,#arr返回的都是1000) 这里的数组初始化value全部为0 3:创建一个矩阵matrix = {}--声明一个 M 行 N 列的矩阵for i = 1, M do matrix[i] = {} for j = 1 , N do matrix[i][j] = i*j ...

python redis客户端使用lua脚本【代码】

有一个需求,为一个key设置一个field存储时间戳,每当有新数据,判断新数据时间戳是否>之前的时间戳,如果是,更新时间戳,由于依赖中间执行结果,所以使用lua减少客户端和服务端通信次数#!/usr/bin/python # -*- coding: utf-8 -*-import redisr = redis.Redis("127.0.0.1")lua = """ local key = KEYS[1] local field = ARGV[1] local timestamp_new = ARGV[2] -- get timestamp of the key in redis local timestamp_old = redi...

lua 类支持属性不能被修改【代码】

背景lua是类是借助表的来实现的, 类被定义后, 在使用场景下, 不希望被修改。如果被修改, 则影响的类的原始定义, 影响所有使用类的地方。例如:--- router.lua class file router = class() router.xxx = function xxx end--- app.lua router.xxx = function yyy end 故提出新的要求:1、 对于类在应用场景下,不能修改属性。2、 对于类在应用场景下, 不能添加新的属性。 类的实现代码:local_M = {}-- Instantiates a classl...

LUA - 相关标签