现在位置 >首页 > lua
rss
2℃
2012年08月24日 lua ⁄ 被围观 9,247 次+
刚才写一个lua上实现php中的strpos()函数,下面在来个strrpos()函数,查找某个字符串在指定字符串最后一次出现的位置,下面我们还是简单写一下函数,代码如下: functionstrrpos(str,f) ifstr~=nilandf~=nilthen localt=true localoffset=1 localresult=nil while(t) do localtmp=string.find(str,f,offset) iftmp~=nilthen offset=offset+1 ...
阅读全文

评论关闭
2012年08月24日 lua ⁄ 被围观 8,079 次+
在来写一个lua中实现php的strpos()函数,查找某个字符串在指定字符串首次出现的位置,其实lua中也为我们提供了这样的函数使用string.find()即可获得,下面我们还是简单写一个函数,代码如下: functionstrpos(str,f) ifstr~=nilandf~=nilthen return(string.find(str,f)) else returnnil end end 测试如下图所示:
阅读全文
18℃
2012年04月18日 nginx ⁄ 被围观 19,365 次+
下载服务器时常被人盗链,时间久了导致服务器大量资源浪费,由于服务器使用nginx做为web服务器。nginx的防盗链方法有很多,可以使用现成的防盗链模块nginx-accesskey-2.0.3,编译ningx时添加此模块即可。 由于服务其他业务需要,所以nginx编译了lua模块,所以就想通过lua来实现下载服务器的防盗链功能,这样就可以免去了accesskey模块。原理就是生成经过处理过的下载链接,然后下载服务器在处理这个下载链接,成功则下载,失败则阻止。下面就是详细的配置实例:(其中要编译nginx添加lua模块支持,可参考:http://...
阅读全文
1℃
2012年04月18日 lua ⁄ 被围观 28,181 次+
lua并不象其它许多"大而全"的语言那样,包括很多功能,比如网络通讯、图形界面等。但是lua可以很容易地被扩展:由宿主语言(通常是c或c++)提供这些功能,lua可以使用它们,就像是本来就内置的功能一样。lua只包括一个精简的核心和最基本的库。这使得lua体积小、启动速度快,从而适合嵌入在别的程序里。因此在lua中并没有其他语言那样多的系统函数。习惯了其他语言的字符串分割函数,与是就自己写了一个,记录在此,以备使用. 下面在简单介绍下lua: lua 是一个小巧的脚本语言。作者是巴西人。该语言的设计目的是为了嵌...
阅读全文
评论关闭
2012年02月19日 nginx ⁄ 被围观 21,972 次+
为了提高性能,几乎所有互联网应用都有缓存机制,其中memcache是使用非常广泛的一个分布式缓存系统。众所周知,lamp是非常经典的web架构方式,但是随着nginx的成熟,越来越多的系统开始转型为lnmp(linux+nginx+mysql+php with fpm),这是因为nginx采用基于事件机制的i/o多路复用思想设计,在高并发情况下其性能远远优于默认采用prefork模式的apache,另外,相对于apache,nginx更轻量,同时拥有大量优秀的扩展模块,使得在nginx上可以实现一些美妙的功能。 传统上,php中使用memcache的方法是使用php-memcache或...
阅读全文
3℃
2012年01月30日 lua ⁄ 被围观 21,190 次+
lua 中pairs 和 ipairs的区别 ipairs (t) returns three values: an iterator function, the tablet, and 0, so that the construction for i,v in ipairs(t) dobodyend will iterate over the pairs (1,t[1]), (2,t[2]), ···, up to the first integer key absent from the table. pairs (t) returns three values: thenextfunction, the tablet, andnil, so that the construction for k,v in pairs(t) dobodyend will iterate over all key╟value pairs of tablet. see functionnextfor the caveat...
阅读全文
3℃
2012年01月29日 lua ⁄ 被围观 15,256 次+
之前写了个类似php的var_dump()函数,下面在来一个print_r()函数,代码如下: functionpr(t,name,indent) localtablelist={} functiontable_r(t,name,indent,full) localid=notfullandnameortype(name)~="number"andtostring(name)or'['..name..']' localtag=indent..id..'=' localout={}--result iftype(t)=="table"then iftablelist[t]~=nilthen table.insert...
阅读全文
评论关闭
2012年01月20日 lua ⁄ 被围观 9,944 次+
习惯了php中的var_dump()函数,而如今写lua的时候总习惯使用var_dump()函数,于是就自己动手写了一个类似功能的var_dump()函数。 functionvar_dump(data,max_level,prefix) iftype(prefix)~="string"then prefix="" end iftype(data)~="table"then print(prefix..tostring(data)) else print(data) ifmax_level~=0then localprefix_next=prefix.."" print(prefix.."{") ...
阅读全文
评论关闭
2012年01月20日 lua ⁄ 被围观 14,004 次+
lua5.1基本函数库介绍 assert (v [, message]) 功能:相当于c的断言, 参数: v:当表达式v为nil或false将触发错误, message:发生错误时返回的信息,默认为"assertion failed!" collectgarbage (opt [, arg]) 功能:是垃圾收集器的通用接口,用于操作垃圾收集器 参数: opt:操作方法标志 "stop": 停止垃圾收集器 "restart": 重启垃圾收集器 "collect": 执行一次全垃圾收集循环 "count": 返回当前lua中使用的内存量(以kb为单位) "step": 单步执行一个垃圾收集. 步长 "size" 由参数arg指定 (大型的值需要多步才能...
阅读全文
评论关闭
2012年01月20日 lua ⁄ 被围观 12,292 次+
lua5.1中数学库的所有函数如下表: math.pi 为圆周率常量 = 3.14159265358979323846 abs 取绝对值 math.abs(-15) 15 acos 反余弦函数 math.acos(0.5) 1.04719755 asin 反正弦函数 math.asin(0.5) 0.52359877 atan2 x / y的反正切值 math.atan2(90.0, 45.0) 1.10714871 atan 反正切函数 math.atan(0.5) 0.463647609 ceil 不小于x的最大整数 math.ceil(5.8) 6 cosh 双曲线余弦函数 math.cosh(0.5) 1.276259652 cos 余弦函数 math.cos(0.5) 0.87758256 deg 弧度转角度 math.deg(math.pi) 180 ex...
阅读全文