Script Reference : Table
Tables are associative containers implemented as pairs of key/value (called a slot).
| Name | Description |
|---|---|
| local a={} | Creates an empty table. |
| local a= { slot1="I'm the slot value" } |
A table constructor can also contain slots declaration. |
| local a= { [1]="I'm the value" } |
An alternative syntax to create table. |
| local table= { a=10, b="string", [10]={}, function bau(a,b) { return a+b; } } |
Mixed approach. |
| local x = { "id": 1, "name": "Foo", "price": 123, "tags": ["Bar","Eek"] } |
Table declaration using JSON Syntax. |
New slot
Adding a new slot in a existing table is done through the "new slot" operator '<-'; this operator behaves like a normal assignment except that if the slot does not exists it will be created.
a.newslot <- 1234;
or
a[1] <- "I'm the value of the new slot";
Slot deletion
Deletion of a slot is done through the keyword delete; the result of this expression will be the value of the deleted slot.
a <- {
test1=1234
deleteme="now"
}
delete a.test1 //this will print the string "now"
| Name | Return Type | Description |
|---|---|---|
| int len() | integer | Returns number of items in the table. |
| int clear() | Returns number of items in the table. t.clear(); |
|
| rawget(name) | value of the slot | Returns slot value.
If slot with this name is exists, method will raise an
exception.
local d=t.rawget("test1"); |
| rawset(name,value) | Sets slot value. With this method it is possible to create
new slot.
t.rawset(2,4); |
|
| rawdelete(name) | value of the slot | Deletes slot. Method returns value of the slot. Method does
not raise an excpetion if slot is not exists. local d=t.rawdelete(1); |
| rawin(name) | bool | Returns true if slot with this value is exists. false will
be returned if slot is available
local b0=t.rawin(10); |
