[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Depth indexing of nil
- From: Roberto Ierusalimschy <roberto@...>
- Date: Thu, 9 Jul 2015 11:35:23 -0300
> I want to use the value of ‘e’, if it exists. If it doesn’t, that’s fine, I do something else. This:
>
> if a.b.c.d.e == something then
> something-else
> end
>
> only works if everything down to e exists. If anything else doesn’t, then Lua spits the dummy and tells me I’m indexing a nil value. This is technically correct, but actually, I don’t care. So what I end up having to do is:
>
> if a and a.b and a.b.c and a.b.c.d and a.b.c.d.e and a.b.c.d.e == something then
> something-else
> end
My prefered technique is this one:
-- put this somewhere in your code; it can be global or local:
E = {}
if ((((a or E).b or E).c or E).d or E).e == something then ...
-- Roberto