lua
文章平均质量分 70
PowerfulYi
做一个有情怀的程序猿
展开
-
实现lua 字符串spllit功能
string.split=function(str,token) ret={} _,token_num=string.gsub(str,token,'') f='' for i=1,token_num do f=f..'(.-)|' end f=f..'(.+)' for j=1,token_num+1 do ret[j]=select(j+2,string.fi原创 2015-01-19 16:41:39 · 861 阅读 · 0 评论 -
lua实例
--mooreliufunction f1(o) print("function f1 /n") print("o.x="..o.x)endprint("using lua/n")dofile('db.lua')bd.lua代码:entry{ x=1, y=2, z=3,}print("in db.lua")上面这段代码会报错lua: d原创 2015-01-21 10:03:46 · 998 阅读 · 0 评论 -
lua table中可以有函数
tbl{ x=1, 2, print("hello lua")}可以看出table中可以有函数print等等原创 2015-01-21 10:10:18 · 1218 阅读 · 0 评论 -
lua table名作为key值
table1={}print("tabl1 addr=",table1)table2={}table2[table1]="amzaing lua"print("tabl2 addr=",table2)print("table2[table1] value"..table2[table1])输出为tabl1 addr= table: 002AB290tabl1 addr= tab原创 2015-01-21 11:41:43 · 4315 阅读 · 0 评论 -
lua中类的方法定义
tbl={}function tbl:x() print("x")endtbl.x()和下面的输出结果一样: 和 . 的效果一样tbl={}function tbl.x() print("x")endtbl.x()原创 2015-01-21 17:12:05 · 1240 阅读 · 0 评论 -
Lua查找表元素过程(元表、__index方法是如何工作的)
Lua的表本质其实是个类似HashMap的东西,其元素是很多的Key-Value对,如果尝试访问了一个表中并不存在的元素时,就会触发Lua的一套查找机制,也是凭借这个机制,才能够实现“面向对象”的。举例说明:[plain] view plaincopyprint?tempTable = {} print(tempTable.me转载 2015-01-22 09:26:33 · 509 阅读 · 0 评论 -
Lua 学习笔记:沙盒
背景知识Lua 给我的感觉是:各种内置函数和标准库的存在感都是比较强的。如果执行这句:for name in pairs(_G) do print(_G) end就会把各种环境中已存在名称的打印出来:全局变量:比如字符串 _VERSION。内置函数:比如 print、tonumber、dofile 之类。模块名称:比如 string、io、coroutine 之类。转载 2015-01-21 16:21:17 · 1009 阅读 · 0 评论 -
理解lua中Weak Table
如果你对lus语言的中weak table不明白的话,那这篇文章应该对你有帮助。 所有脚本语言几乎都有垃圾回收器(GC),当然lua也有。 不明白GC不要紧,下面让我来解释: 这一切要先从现代编程语言的鼻祖 — C语言开始。 如果你在C中要使用变量,可以这样定义变量,如: -----------------------------------------------转载 2015-01-22 10:25:11 · 479 阅读 · 0 评论 -
lua类
Account = { balance=123,}function Account:f() print(self.balance)endAccount:f()Account.balance=321print(Account.balance)输出为 -->123 -->321上面是一个简单的Account类,需要注意的事Accout类中f 函数是采用的 冒号原创 2015-01-22 11:09:31 · 488 阅读 · 0 评论