3

我正在阅读《Lua 编程》的第 16.4 章,但在最后一个示例中我一无所获:

  function newAccount (initialBalance)
      local self = {
        balance = initialBalance,
        LIM = 10000.00,
      }

  local extra = function ()
    if self.balance > self.LIM then
      return self.balance*0.10
    else
      return 0
    end
  end

  local getBalance = function ()
    return self.balance + self.extra() -- this line is the problematic one
  end

  ...

“额外”功能如何变成“self.extra”功能?!我没有看到任何使它附加到单独的“自我”表的东西!

4

1 回答 1

3

这已在本书的第二版中更正为

local getBalance = function ()
  return self.balance + extra()
end
于 2012-08-31T21:41:25.307 回答