Skip to content

Fill operator #435

Description

@K4rakara

A nice feature to have would be JavaScripts fill operator:

constobject1={foo: "Hello",bar: "World"}// { foo: "Hello", bar: "World" }constobject2={ ...object1,bar: "Universe"}// { foo: "Hello", bar: "Universe" }

Now, ... in lua is an operator(?) that copies variable arguments, if they exist.

So, something else would have to be used; heres a few options:

  • ,,, table1:
    • pros: Simple, close to what you would type for ....
    • cons: Looks weird
  • .. table1: Could be used if it is only allowed in situations where there is nothing before the .. operator except for { or ,.
    • pros: Simple, similar to something Lua would do, close to what you would type for ....
    • cons: might clash with the concat operator if not implemented right.

As far as what this could compile to, its fairly simple:

table1 ={foo:"Hello",bar:"World"}
table2 ={..table1,bar:"Universe"}

Becomes:

table1= { foo="Hello", bar="World" }
table2= { table.unpack(table1), bar="Universe" }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions