您的位置:首页 > 编程语言 > Lua

lua笔试

2015-07-20 20:22 375 查看
1 写出这段程序的运行结果

test={1,2,3,4,5,6,7,8}

print(#test)

结果:

2 写出这段程序运行结果

a = {}

a["x"] = 10

b = a

print(b["x"])

b["x"] = 20

print(a["x"])

结果:

3 请写一个带有不定参数的lua 函数 并输出所有的参数

结果:

4

base_type={x=0}

base_type.__index=base_type

function base_type:new(x)

local d={}

setmetatable(d,self)

self.x=x

return d

end

function base_type:ctor(x)

print("base_type ctor")

self.x=x

end

function base_type:print_x()

print(self.x)

end

function base_type:hello()

print("hello base_type")

end

a=base_type:new(0)

a:print_x()

a:hello()

请写出上面在调用函数时使用':'号的优点

结果:

5 network = {

{name = "grame", IP = "202.26.12.32"},

{name = "aricial", IP = "202.26.30.23"},

{name = "lua", IP = "202.26.30.21" },

}

写一个程序 对这个表根据名字进行排序

参考答案:

6 写出下面程序的执行结果

Class = {x=0,y=0}

Class.__index = Class

function Class:new(x,y)

local self = {}

setmetatable(self, Class)

self.x = x

self.y = y

return self

end

function Class:test()

print(self.x,self.y)

end

function Class:plus()

self.x = self.x + 1

self.y = self.y + 1

end

Main = {z=0}

setmetatable(Main, Class)

Main.__index = Main

function Main:new(x,y,z)

local self = {}

self = Class:new(x,y)

setmetatable(self, Main)

self.z= z

return self

end

function Main:go()

self.x = self.x + 10

end

function Main:test()

print(self.x,self.y,self.z)

end

c = Main:new(20,40,100)

c:test()

d = Main:new(10,50,200)

d:go()

d:plus()

d:test()

c:test()

运行结果:

7.写出运行结果

Class = {x=0,y=0}

Class.__index = Class

function Class:new(x,y)

local self = {}

setmetatable(self, Class)

self.x = x

self.y = y

return self

end

function Class:test()

print(self.x,self.y)

end

function Class:gto()

return 100

end

function Class:gio()

return self:gto() * 2

end

function Class:plus()

self.x = self.x + 1

self.y = self.y + 1

end

Main = {z=0}

setmetatable(Main, Class)

Main.__index = Main

function Main:new(x,y,z)

local self = {}

self = Class:new(x,y)

setmetatable(self, Main)

self.z= z

return self

end

function Main:gto()

return 50

end

function Main:go()

self.x = self.x + 10

end

function Main:test()

print(self.x,self.y,self.z)

end

a = Class:new(10,20)

print(a:gio())

d = Main:new(10,50,200)

print(d:gio())

print(a:gio())

运行结果:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: