我是Lua的新手,所以在创建和访问lua代码中的类时。我收到以下错误
试图索引全局'BankAccount'(一个函数值)
以下代码块供参考。
-lua中的类
-- bank account is a table
BankAccount = {
account_number = 0,
holder_name = "",
balance = 0.0
}
function BankAccount:deposit(amount)
self.balance = self.balance + amount
end
function BankAccount(amount)
self.balance = self.balance - amount
end
function BankAccount:new(t)
t = t or {}
setmetatable(t,self)
self.__index= self
return t
end
-- instantiate an object of the class BankAccount
johns_account = BankAccount:new({
account_number = 12345678,
holder_name = "John",
balance = 0.0
})
print(johns_account.account_number)
任何人都可以解释我在犯什么错误或我遗漏了其他错误吗?
此行function BankAccount(amount)
将BankAccount
重新定义为功能。
该行应为function BankAccount:withdraw(amount)
。