尝试索引全局变量“BankAccount”(一个函数值)

我是Lua的新手,在Lua代码中创建和访问类时,我遇到了以下错误

尝试索引全局变量“BankAccount”(一个函数值)

下面是参考的代码块。

-- Lua中的类

-- 银行账户是一个表

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
-- 实例化BankAccount类的对象

johns_account = BankAccount:new({
  account_number = 12345678,
  holder_name = "John",
  balance = 0.0
})

print(johns_account.account_number)

请问我犯了什么错误或错过了什么?

点赞
用户107090
用户107090

这一行 function BankAccount(amount)BankAccount 重新定义为一个函数。

这一行应为 function BankAccount:withdraw(amount)

2019-12-16 09:47:13