• pelya@lemmy.world
      link
      fedilink
      arrow-up
      15
      ·
      9 hours 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.

      • frezik@midwest.social
        link
        fedilink
        arrow-up
        2
        ·
        3 hours 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.

      • my_hat_stinks@programming.dev
        link
        fedilink
        arrow-up
        6
        ·
        6 hours 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
        
        • Sonotsugipaa@lemmy.dbzer0.com
          link
          fedilink
          English
          arrow-up
          17
          ·
          10 hours 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.