fwiw: i suspect the vast majority of Corona users don’t even know meta exists, much less what it is or when/why they’d benefit from its use. nor do they need to… probably. (and if they do, probably the first most likely use is diy oop)
and i’m with ya that complexity should dictate solution. fe a 1kloc flappy clone might not benefit from anything beyond the simplest possible implementation. (not necessarily “sloppy”, just not complex-beyond-need) but Lua’s flexibility is also its downfall, sooo many bugs exist just cuz of simple typos. these aren’t *syntax* errors, but don’t have the intended effect. (heck, every other day or so there’s a bit of code posted to the forum with some obscure bug from an unintended nil somewhere) classic example:
local function doSomethingConditionally(aCamelCaseBoolean) if (aCamelcaseBoolean) then -- will never occur else -- always end up here end end
(btw, that particular error could have been easily caught by locking on-the-fly access to _G … via meta, of course)
on a more ambitious project, the devs might appreciate a bit more rigorous approach, and desire (fe…) proper inheritance that works the way they’ve learned elsewhere (or prototyping, or yet-another-object-oriented approach, depending on background), or “typed” (or at least predeclared) variables, or overloaded operands (fe add in a vector class?), or etc (pick your fav modern programming feature). and Lua can accommodate most such requests, and there are plenty of third-party middlewares (middleclass, fe) to do the oop stuff, and so on, but for some stuff they’d likely be on their own and have to diy, so worth learning.
but, it’s just another tool in an arsenal, and getting overly-clever just for the sake of being clever serves no purpose. (which I assume is what it appears i was doing, but perhaps just because i picked an easily-refuted example case to demo the technique)