lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


Thus:

function tax:init (pIncome, pRate)
  self._income = pIncome
  self._rate = pRate
  end


2013/9/18 Jayanth Acharya <jayachar88@gmail.com>:
> On Wed, Sep 18, 2013 at 6:05 PM, Dirk Laurie <dirk.laurie@gmail.com> wrote:
>>
>> 2013/9/18 Chris Berardi <chris.berardi@pmcsystems.com>:
>> >     Can someone kindly explain the reason why I see this error ?
>> >         tax.init = function (pIncome, pRate)
>> >           tax._income = pIncome
>> >           tax._rate = pRate
>> >           end
>> >
>> >         tax:init(12200, 12)
>> >
>> >
>> >
>> > The way Lua handles OO, the call to tax:init(12200, 12) is syntactic
>> > sugar for
>> > tax.init(tax, 12200, 12). Therefore, tax._income is assigned tax and
>> > tax._rate
>> > is assigned what you think is pIncome and what you think is pRate is
>> > thrown
>> > away.
>> >
>> > Try changing the call to tax.init(12200, 12) or change the function
>> > definition
>> > to tax.init = function (self, pIncome, pRate).
>>
>> And change all the tax.xxx statements to self.xxx statements.
>>
> Thanks Dirk, but changing tax to self inside the functions, I get this
> error:
> attempt to index global 'self' (a nil value)