Lua对象-构造函数中的初始化错误
我是Lua和Corona的初学者。我有一个名为Square的类,我想初始化它。这是我的班级:Lua对象-构造函数中的初始化错误,lua,coronasdk,Lua,Coronasdk,我是Lua和Corona的初学者。我有一个名为Square的类,我想初始化它。这是我的班级: Square = {x=0, y=0, colorNumber=0} Square.__index = Square function Square:init(x,y,colorNumber) local square = {} -- our new object setmetatable(square,Square) square.x = x -
Square = {x=0, y=0, colorNumber=0}
Square.__index = Square
function Square:init(x,y,colorNumber)
local square = {} -- our new object
setmetatable(square,Square)
square.x = x -- initialize our object
square.y = y -- initialize our object
square.colorNumber = colorNumber -- initialize our object
return square
end
function Square:hello()
print ("Hello "..self.x.." "..self.y.." "..self.colorNumber)
local n = 10
local t0 = clock()
while clock() - t0 <= n do end
end
-- create and use a Square
square = Square.init(2,3,4)
square:hello()
它不应该打印吗
Hello 2 3 4
?
为什么x用y值初始化,y用colorNumber初始化,而colorNumber为0
谢谢
问候,,
塞尔维亚人使用
square=square:init(2,3,4)
,因为用:
语法定义或调用的函数都是方法,并采用隐藏参数self
:square:init(2,3,4)
与square.init(square,2,3,4)
相同
Hello 2 3 4