gpt4 book ai didi

function - 'this' 引用 Lua 中的函数调用者

转载 作者:行者123 更新时间:2023-12-05 01:04:11 25 4
gpt4 key购买 nike

我想知道如何获得 this Lua 函数内部的引用。我已经习惯了 this函数内部的引用(如在 JavaScript 中),引用调用它的对象。

例如,在 JavaScript 中:

var person = {
'name' : 'Saucy Jack',
'speak' : function() {
console.log("Hi, my name is " + this.name);
};
};

在那个例子中,当 person.speak()被称为, this在函数体中将引用 person (这是调用函数)。我如何获得对 this 的引用在 Lua 函数中?

例如,同样的 person Lua 中的对象:
local person = {
name = 'Saucy Jack',
speak = function()
print("Hi, my name is " + self.name);
end
};

根据我在 Lua 中的理解, self用于代替 this ,但我无法让上面的例子工作。

最佳答案

首先,分号根本不需要。

接下来,您需要使用 self 为隐式调用定义表主体之外的函数。 .

并且,字符串连接是使用 .. 完成的。而不是 +

local person = {
name = 'Saucy Jack',
}
function person:speak() -- or function person.speak(self)
print("Hi, my name is "..self.name)
end

这是一个 working codepad sample .

关于function - 'this' 引用 Lua 中的函数调用者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23529999/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com