• Die Martin Die@sh.itjust.works
    link
    fedilink
    arrow-up
    1
    ·
    6 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
      ·
      4 hours 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.