第17 章 数学库 在这一章中(下面关于标准库的几章中同样)我的主要目的不是对每一个函数给出完整地说明,而是告诉你标准库能够提供什么功能。为了能够清楚地说明问题,我可能 会忽略一些小的选项或者行为。主要的思想是激发你的好奇心,这些好奇之处可能在参考于册中找到答案。 数学库由算术函数的标准集合组成,比如三角函数库(sin, cos, tan, asin, acos, etc.), 幂指函数(exp, log, log10),舍入函数(floor, ...
概述 我们总所周知对象是由属性和方法组成的,要用lua要描述一个对象,也必然要有这两个特性,属性和方法。lua的基本结构是table,所以Lua的类,其实都是table,因为它可以存储普通的变量又可以存储方法,我们利用table就可以描述一个对象的属性和方法。对象其实lua要模拟一个对象,关键就在于__index设置元表索引这块,它主要起到索引失败后该怎么办,如果它指向一张表,那么__index索引失败后,它会到这张表中去查找有没有你指...
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中的正则表达式,规则如图:常用示例,代码如下:-- 去掉首尾所有空格
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 的文件, 里面用到了自己写的库, 或者第三方写的库, 但是你不想把它放到 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程序,命名为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工程。首先我们...
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[...
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可执...
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 ...
有一个需求,为一个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是类是借助表的来实现的, 类被定义后, 在使用场景下, 不希望被修改。如果被修改, 则影响的类的原始定义, 影响所有使用类的地方。例如:--- 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...
整理自:http://www.cnblogs.com/whiteyun/archive/2009/08/10/1543139.html 1.table.concat(table, sep, start, end)concat是concatenate(连锁, 连接)的缩写. table.concat()函数列出参数中指定table的数组部分从start位置到end位置的所有元素, 元素间以指定的分隔符(sep)隔开。除了table外, 其他的参数都不是必须的, 分隔符的默认值是空字符, start的默认值是1, end的默认值是数组部分的总长.
sep, start, end这三个参数是顺序读...
前言Lua中的函数和C++中的函数的含义是一致的,Lua中的函数格式如下:复制代码 代码如下:
function MyFunc(param)
-- Do something
end
在调用函数时,也需要将对应的参数放在一对圆括号中,即使调用函数时没有参数,也必须写出一对空括号。对于这个规则只有一种特殊的例外情况:一个函数若只有一个参数,并且此参数是一个字符串或table构造式,那么圆括号便可以省略掉。看以下代码:复制代码 代码如下:
print "Hello World" ...
1. ncurses 安装官网下载:http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gzCSDN 下载:http://download.csdn.net/detail/spch2008/8828779tar -xf ncurses-5.9.tar.gz
cd ncurses-5.9
./configure
make
sudo make install 2. lua 安装 官方网下载:http://www.lua.org/download.htmlCSDN 下载:http://download.csdn.net/detail/spch2008/8828787tar -xf lua-5.3.1.tar.gz
cd lua-5.3.1
make linux
sudo make install 问...
Openresty提供了丰富的接口和变量给Lua,开发者可以充分利用Lua语言特性和这些接口进行高效率开发。万事开头难,但是对于编程来说能写出Hello world就已经算是成功一半了。1、安装openresty2、配置nginx复制代码 代码如下:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.h...