不确定是否有人遇到过这种问题。这是我的代码
在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
所以现在我的“其他代码”可以很好地工作,但为什么它在我的参数之前传递给我一个表?
答案 0 :(得分:4)
在Lua中,使用冒号而不是点来调用对象/表表示对象/表应作为第一个参数传递给函数(例如,作为self
)。如果你不关心这个,那么用一个点代替调用函数:
highScore.InsertHighScore(userName, finishedTime)