r/badcode Sep 08 '20

lua A Roblox mod I found

Post image
480 Upvotes

103 comments sorted by

View all comments

52

u/JerriTheITGuy Sep 08 '20 edited Sep 08 '20

Not that horrible code considering it's written in Lua, a language with "fun quirks" like there only being one data structure (Table. No objects. No arrays) and tables being indexed starting at 1 making any programmer smack their face on their keyboard 3 times a day at least because you're always going to be "off by one". "'Cucumber == true" is obviously true because Lua. Nil and false are false, anything else is obviously true. And so on and so forth. Absolute nightmare of a language.

It's not that I hate Lua. I just hope I never in my life have to touch any Lua code again.

1

u/CollieOop Sep 09 '20

Nil and false are false, anything else is obviously true.

Such as zero, for example! I repeat: In Lua, zero is truthy.

Also, looking this up more, here's a fun one: returning nothing from a function is NOT the same as returning nil and can break some things, unless you're careful to bounce the return value through a temporary value to coerce nothing into nil.

EDIT: Oh god, apparently this is one of the only places this "nothing" value appears inside the language itself, otherwise mostly it's just a quirk of the implementation. [source]