lua:将参数传递给其他函数问题

时间:2011-08-23 03:12:03

标签: function methods parameters lua

不确定是否有人遇到过这种问题。这是我的代码

在main.lua中:

local highScore = require("highScore")
local username = "myName"
local finishedTime = 12345

highScore:InsertHighScore(userName, finishedTime)

in highScore.lua

function InsertHighScore(name,time)
   print(name)
   print(time)
   -- other code
end

它看起来简单,不应该是错的,但在我的控制台中显示出来:

 table: 0x19e6340
 myName

经过一天的测试后,我发现在我传递的2个参数之前,它实际上将另一个表传递给了我,所以在highScore.lua上进行了这些更改:

function InsertHighScore(table,name,time)
   print(table)
   print(name)
   print(time)
   -- other code
end

所以现在我的“其他代码”可以很好地工作,但为什么它在我的参数之前传递给我一个表?

1 个答案:

答案 0 :(得分:4)

在Lua中,使用冒号而不是点来调用对象/表表示对象/表应作为第一个参数传递给函数(例如,作为self)。如果你不关心这个,那么用一个点代替调用函数:

highScore.InsertHighScore(userName, finishedTime)