• Die Martin Die@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      ·
      3 hours ago

      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 other 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.

      • jsomae@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        40 minutes ago

        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.