aboutsummaryrefslogtreecommitdiff
path: root/api/tables.md
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2025-09-06 15:11:26 -0400
committerBruce Hill <bruce@bruce-hill.com>2025-09-06 15:11:26 -0400
commitfb216e955f04a803f11953be27e76bd4d2c9e76d (patch)
treede2c471c5416ec2ee490bdb33f5e3e202d94675a /api/tables.md
parent73246764f88f6f652316ee0c138a990d836698a7 (diff)
Use colons instead of '=' for tables (e.g. {1: 2})
Diffstat (limited to 'api/tables.md')
-rw-r--r--api/tables.md54
1 files changed, 27 insertions, 27 deletions
diff --git a/api/tables.md b/api/tables.md
index 26bfe908..b4c98c57 100644
--- a/api/tables.md
+++ b/api/tables.md
@@ -6,14 +6,14 @@
## Table.clear
```tomo
-Table.clear : func(t: &{K=V} -> Void)
+Table.clear : func(t: &{K:V} -> Void)
```
Removes all key-value pairs from the table.
Argument | Type | Description | Default
---------|------|-------------|---------
-t | `&{K=V}` | The reference to the table. | -
+t | `&{K:V}` | The reference to the table. | -
**Return:** Nothing.
@@ -26,7 +26,7 @@ t | `&{K=V}` | The reference to the table. | -
## Table.get
```tomo
-Table.get : func(t: {K=V}, key: K -> V?)
+Table.get : func(t: {K:V}, key: K -> V?)
```
Retrieves the value associated with a key, or returns `none` if the key is not present.
@@ -35,7 +35,7 @@ Default values for the table are ignored.
Argument | Type | Description | Default
---------|------|-------------|---------
-t | `{K=V}` | The table. | -
+t | `{K:V}` | The table. | -
key | `K` | The key whose associated value is to be retrieved. | -
**Return:** The value associated with the key or `none` if the key is not found.
@@ -43,7 +43,7 @@ key | `K` | The key whose associated value is to be retrieved. | -
**Example:**
```tomo
->> t := {"A"=1, "B"=2}
+>> t := {"A": 1, "B": 2}
>> t.get("A")
= 1?
@@ -60,7 +60,7 @@ key | `K` | The key whose associated value is to be retrieved. | -
## Table.get_or_set
```tomo
-Table.get_or_set : func(t: &{K=V}, key: K, default: V -> V?)
+Table.get_or_set : func(t: &{K:V}, key: K, default: V -> V?)
```
If the given key is in the table, return the associated value. Otherwise, insert the given default value into the table and return it.
@@ -70,7 +70,7 @@ The default value is only evaluated if the key is missing.
Argument | Type | Description | Default
---------|------|-------------|---------
-t | `&{K=V}` | The table. | -
+t | `&{K:V}` | The table. | -
key | `K` | The key whose associated value is to be retrieved. | -
default | `V` | The default value to insert and return if the key is not present in the table. | -
@@ -79,29 +79,29 @@ default | `V` | The default value to insert and return if the key is not present
**Example:**
```tomo
->> t := &{"A"=@[1, 2, 3]; default=@[]}
+>> t := &{"A": @[1, 2, 3]; default=@[]}
>> t.get_or_set("A").insert(4)
>> t.get_or_set("B").insert(99)
>> t
-= &{"A"=@[1, 2, 3, 4], "B"=@[99]}
+= &{"A": @[1, 2, 3, 4], "B": @[99]}
>> t.get_or_set("C", @[0, 0, 0])
= @[0, 0, 0]
>> t
-= &{"A"=@[1, 2, 3, 4], "B"=@[99], "C"=@[0, 0, 0]}
+= &{"A": @[1, 2, 3, 4], "B": @[99], "C": @[0, 0, 0]}
```
## Table.has
```tomo
-Table.has : func(t: {K=V}, key: K -> Bool)
+Table.has : func(t: {K:V}, key: K -> Bool)
```
Checks if the table contains a specified key.
Argument | Type | Description | Default
---------|------|-------------|---------
-t | `{K=V}` | The table. | -
+t | `{K:V}` | The table. | -
key | `K` | The key to check for presence. | -
**Return:** `yes` if the key is present, `no` otherwise.
@@ -109,23 +109,23 @@ key | `K` | The key to check for presence. | -
**Example:**
```tomo
->> {"A"=1, "B"=2}.has("A")
+>> {"A": 1, "B": 2}.has("A")
= yes
->> {"A"=1, "B"=2}.has("xxx")
+>> {"A": 1, "B": 2}.has("xxx")
= no
```
## Table.remove
```tomo
-Table.remove : func(t: {K=V}, key: K -> Void)
+Table.remove : func(t: {K:V}, key: K -> Void)
```
Removes the key-value pair associated with a specified key.
Argument | Type | Description | Default
---------|------|-------------|---------
-t | `{K=V}` | The reference to the table. | -
+t | `{K:V}` | The reference to the table. | -
key | `K` | The key of the key-value pair to remove. | -
**Return:** Nothing.
@@ -133,23 +133,23 @@ key | `K` | The key of the key-value pair to remove. | -
**Example:**
```tomo
-t := {"A"=1, "B"=2}
+t := {"A": 1, "B": 2}
t.remove("A")
>> t
-= {"B"=2}
+= {"B": 2}
```
## Table.set
```tomo
-Table.set : func(t: {K=V}, key: K, value: V -> Void)
+Table.set : func(t: {K:V}, key: K, value: V -> Void)
```
Sets or updates the value associated with a specified key.
Argument | Type | Description | Default
---------|------|-------------|---------
-t | `{K=V}` | The reference to the table. | -
+t | `{K:V}` | The reference to the table. | -
key | `K` | The key to set or update. | -
value | `V` | The value to associate with the key. | -
@@ -158,32 +158,32 @@ value | `V` | The value to associate with the key. | -
**Example:**
```tomo
-t := {"A"=1, "B"=2}
+t := {"A": 1, "B": 2}
t.set("C", 3)
>> t
-= {"A"=1, "B"=2, "C"=3}
+= {"A": 1, "B": 2, "C": 3}
```
## Table.with_fallback
```tomo
-Table.with_fallback : func(t: {K=V}, fallback: {K=V}? -> {K=V})
+Table.with_fallback : func(t: {K:V}, fallback: {K:V}? -> {K:V})
```
Return a copy of a table with a different fallback table.
Argument | Type | Description | Default
---------|------|-------------|---------
-t | `{K=V}` | The table whose fallback will be replaced. | -
-fallback | `{K=V}?` | The new fallback table value. | -
+t | `{K:V}` | The table whose fallback will be replaced. | -
+fallback | `{K:V}?` | The new fallback table value. | -
**Return:** The original table with a different fallback.
**Example:**
```tomo
-t := {"A"=1; fallback={"B"=2}}
-t2 = t.with_fallback({"B"=3"})
+t := {"A": 1; fallback={"B": 2}}
+t2 = t.with_fallback({"B": 3"})
>> t2["B"]
= 3?
t3 = t.with_fallback(none)