336
Lua rule (lemmy.blahaj.zone)
submitted 1 year ago by Finalsolo963 to c/196

A ruler with the logo for the Lua Programming language

you are viewing a single comment's thread
view the rest of the comments
[-] Kerb@discuss.tchncs.de 58 points 1 year ago* (last edited 1 year ago)

thats probably taking the piss with how lua handles array indexing.

in most programming languages,
the first element of an array is element 0,
in lua arrays start with element 1.

imo it kinda makes sense,
but it causes confusion because it goes against established conventions

[-] Amaltheamannen@lemmy.ml 20 points 1 year ago

The reason for the convention is that it used to be just a pointer (adress) to consecutive elements in memory. A[x] is then literally translated to the adress of A + sizeof(x)*x. Meaning that the first element is at A[0].

[-] SkyeStarfall 9 points 1 year ago

I mean, it's still the case under the hood, and languages like C do work that way. Sure, it's abstracted away in most programming languages these days, but if you ever need to do direct memory management, it's very much still how it works.

[-] AdrianTheFrog@lemmy.world 4 points 1 year ago

Scratch and Mathematica also have arrays start at one.

[-] lugal@lemmy.ml 3 points 1 year ago

I never worked with lua but I get it now. Thanks!

this post was submitted on 08 Mar 2024
336 points (100.0% liked)

196

17461 readers
805 users here now

Be sure to follow the rule before you head out.


Rule: You must post before you leave.



Other rules

Behavior rules:

Posting rules:

NSFW: NSFW content is permitted but it must be tagged and have content warnings. Anything that doesn't adhere to this will be removed. Content warnings should be added like: [penis], [explicit description of sex]. Non-sexualized breasts of any gender are not considered inappropriate and therefore do not need to be blurred/tagged.

If you have any questions, feel free to contact us on our matrix channel or email.

Other 196's:

founded 2 years ago
MODERATORS