[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Long chains of objects (aka tables)
- From: "Thiago L." <fakedme@...>
- Date: Fri, 16 May 2014 19:45:38 -0300
So I did some benchmarking:
https://gist.github.com/SoniEx2/4b1d9d8e6427cf5a1439
It seems like pcall is almost the best way to do Groovy's ?. stuff in
Lua: http://groovy.codehaus.org/Null+Object+Pattern
(let me quote it)
"with the |?.| operator, an expression like |p?.job?.salary| will be
equal to null if |salary| is equal to null, or if |job| is equal to null
or if |p| is equal to null. You don't need to code a complex nested |if
... then ... else| to avoid a |NullPointerException|."
(actually pcall is more like catching a NullPointerException but w/e)
Now here's what I'm curious about: how fast would indexing long chains
be if Lua had the ?. operator? (so that (nil)?.whatever == nil and
someObject?.whatever == someObject.whatever)
(Yes that does mean someone'll have to patch Lua to support ?., and yes
they'll have to run all the stuff I did on my benchmark, and yes my
benchmark seems to cause a glitch...)