试图索引全局'BankAccount'(函数值)

问题描述 投票:0回答:1

我是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 class oop lua lua-table
1个回答
0
投票

此行function BankAccount(amount)BankAccount重新定义为功能。

该行应为function BankAccount:withdraw(amount)

© www.soinside.com 2019 - 2024. All rights reserved.