[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: attempt to perform arithmetic on field '_income' (a table value)
- From: Dirk Laurie <dirk.laurie@...>
- Date: Wed, 18 Sep 2013 15:09:55 +0200
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)