Finalsolo963@lemmy.blahaj.zone to 196@lemmy.blahaj.zoneEnglish · 9 months agoLua rulelemmy.blahaj.zoneimagemessage-square3fedilinkarrow-up10arrow-down11file-text
arrow-up1-1arrow-down1imageLua rulelemmy.blahaj.zoneFinalsolo963@lemmy.blahaj.zone to 196@lemmy.blahaj.zoneEnglish · 9 months agomessage-square3fedilinkfile-text
minus-squarelugal@lemmy.mllinkfedilinkarrow-up0·9 months agoWhy does it go to 19 and not 20? You’re saving on the wrong end!
minus-squareKerb@discuss.tchncs.delinkfedilinkarrow-up0·edit-29 months agothats 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
minus-squareAmaltheamannen@lemmy.mllinkfedilinkarrow-up1·9 months agoThe 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].
Why does it go to 19 and not 20? You’re saving on the wrong end!
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
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].