this post was submitted on 08 Jun 2025
520 points (97.6% liked)

Programmer Humor

36531 readers
327 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] diemartin 6 points 1 week ago* (last edited 1 week ago) (1 children)

Kinda.

Lua defines it implicitly only when you use the

function foo:bar(a, b, c) -- note the colon

syntactic sugar, which gets translated to

function foo.bar(self, a, b, c) -- note the period

In all cases, self is a regular variable name. You can even redeclare a new local with that name even when the old one is in scope.

Edit: some typos

[–] [email protected] 3 points 1 week ago (1 children)

I don't see how what you said is inconsistent with me saying "self" is special in lua. Note that I did not say it's a keyword.

[–] diemartin 2 points 1 week ago

Derp, I misread.