• pelya
        link
        204 days ago

        In Lua all arrays are just dictionaries with integer keys, a[0] will work just fine. It’s just that all built-in functions will expect arrays that start with index 1.

        • my_hat_stinks
          link
          fedilink
          93 days ago

          That’s slightly misleading, I think. There are no arrays in Lua, every Lua data structure is a table (sometimes pretending to be something else) and you can have anything as a key as long as it’s not nil. There’s also no integers, Lua only has a single number type which is floating point. This is perfectly valid:

          local tbl = {}
          local f = function() error(":(") end
          
          tbl[tbl] = tbl
          tbl[f] = tbl
          tbl["tbl"] = tbl
          
          print(tbl)
          -- table: 0x557a907f0f40
          print(tbl[tbl], tbl[f], tbl["tbl"])
          -- table: 0x557a907f0f40	table: 0x557a907f0f40	table: 0x557a907f0f40
          
          for key,value in pairs(tbl) do
            print(key, "=", value)
          end
          -- tbl	=	table: 0x557a907f0f40
          -- function: 0x557a907edff0	=	table: 0x557a907f0f40
          -- table: 0x557a907f0f40	=	table: 0x557a907f0f40
          
          print(type(1), type(-0.5), type(math.pi), type(math.maxinteger))
          -- number	number	number	number
          
        • @[email protected]
          link
          fedilink
          43 days ago

          PHP did that same thing. It was a big problem when algorithmic complexity attacks were discovered. It took PHP years to integrate an effective solution that didn’t break everything.

      • db0
        link
        fedilink
        104 days ago

        Fortran angrily starts typing…

        • db0
          link
          fedilink
          154 days ago

          I always felt that Lua was a girl

          • Sonotsugipaa
            link
            fedilink
            English
            194 days ago

            Lua - Portuguese feminine noun for “moon”, coming from the Latin “luna”
            Luna - Latin, feminine noun (coincidentally identical to the Italian noun, also feminine)

            Yup, Lua is a girl.

            • @shotgun_crab
              link
              25 hours ago

              Luna is also same as the spanish noun, also feminine

    • @[email protected]
      link
      fedilink
      33 days ago

      Writing Lua code that also interacts with C code that uses 0 indexing is an awful experience. Annoys me to this day even though haven’t used it for 2 years

    • nickwitha_k (he/him)
      link
      fedilink
      13 days ago

      This is one of the few things that I really don’t like any Lua. It’s otherwise pretty decent and useful.