深入浅出游戏算法(3)-lua脚本(9)
2014-02-24 14:30
267 查看
模块:
> mym=require "io"
> mym.write("hello\n")
hello
> 元表与元方法
可能通过元表定义值的行为,比如可以定义多个table运算法则,类似于C语言的运算符重载
dp@dp:~ % lua test6.lua
10,20
false
True
Lua6.lua:
dp@dp:~ % cat test6.lua
List={}
local mymt={}
function List.new(l)
local mylist={}
setmetatable(mylist,mymt)
for k,v in ipairs(l) do
mylist[k]=l[k]
end
return mylist
end
function List.add(a,b)
local result=List.new{}
for k in pairs(a) do
result[k]=a[k]+b[k]
end
end
function List.sub(a,b)
local result=List.new{}
for k in pairs(a) do
result[k]=a[k]-b[k]
end
end
function List.tostring(a)
local lt={}
for k in pairs(a) do
lt[k]=a[k]
end
return table.concat(lt,",")
end
function List.print(a)
print(List.tostring(a))
end
function List.le(a,b)
for k in pairs(a) do
if a[k]~=b[k] then
return false
end
end
return true
end
mymt.__add=List.add
mymt.__sub=List.sub
mymt.__eq=List.le
a=List.new{10,20}
b=List.new{11,22}
d=List.new{11,22}
c=a+b
List.print(a)
print(a==b)
print(b==d)
dp@dp:~ %
> mym=require "io"
> mym.write("hello\n")
hello
麦好的AI乐园博客所有内容是原创,如果转载请注明来源
http://blog.csdn.net/myhaspl/
> 元表与元方法可能通过元表定义值的行为,比如可以定义多个table运算法则,类似于C语言的运算符重载
dp@dp:~ % lua test6.lua
10,20
false
True
Lua6.lua:
dp@dp:~ % cat test6.lua
List={}
local mymt={}
function List.new(l)
local mylist={}
setmetatable(mylist,mymt)
for k,v in ipairs(l) do
mylist[k]=l[k]
end
return mylist
end
function List.add(a,b)
local result=List.new{}
for k in pairs(a) do
result[k]=a[k]+b[k]
end
end
function List.sub(a,b)
local result=List.new{}
for k in pairs(a) do
result[k]=a[k]-b[k]
end
end
function List.tostring(a)
local lt={}
for k in pairs(a) do
lt[k]=a[k]
end
return table.concat(lt,",")
end
function List.print(a)
print(List.tostring(a))
end
function List.le(a,b)
for k in pairs(a) do
if a[k]~=b[k] then
return false
end
end
return true
end
mymt.__add=List.add
mymt.__sub=List.sub
mymt.__eq=List.le
a=List.new{10,20}
b=List.new{11,22}
d=List.new{11,22}
c=a+b
List.print(a)
print(a==b)
print(b==d)
dp@dp:~ %
相关文章推荐
- 深入浅出游戏算法(3)-lua脚本(7)
- 深入浅出游戏算法(3)-lua脚本(8)
- 深入浅出游戏算法(3)-lua脚本(4)
- 深入浅出游戏算法(3)-lua脚本(2)
- 深入浅出游戏算法(3)-lua脚本(3)
- 深入浅出游戏算法(3)-lua脚本(6)
- 深入浅出游戏算法(3)-lua脚本(5)
- 深入浅出游戏算法(3)-lua脚本
- 游戏算法中lua脚本详解
- Lua游戏脚本热更新机制
- 深入浅出游戏算法(1)-配置opengl、glut在codeblocks和vs2012(3)
- Lua游戏脚本热更新机制
- Lua游戏脚本语言入门学习指导 .
- 在游戏中如何使用LUA脚本语言
- 关于lua脚本对于游戏的用途
- 使用cocos2dx的lua脚本写游戏逻辑
- 【iOS-cocos2d-X 游戏开发之八】使用Lua脚本进行游戏开发(基础篇) 推荐
- 游戏中使用LUA脚本语言的简介
- 在游戏中如何使用LUA脚本语言
- Lua游戏脚本开发1 -- 初始化Lua