Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Lua对象-构造函数中的初始化错误_Lua_Coronasdk - Fatal编程技术网

Lua对象-构造函数中的初始化错误

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 -

我是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      -- 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