From 6d15697edce2217a2bbc82def26262d18dac6373 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Wed, 21 May 2025 14:25:45 -0400 Subject: Added Set infix operations, as well as Table.with_fallback() and fixed some bugs with update assignment. --- api/tables.yaml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'api/tables.yaml') diff --git a/api/tables.yaml b/api/tables.yaml index 6a58e818..f3b648da 100644 --- a/api/tables.yaml +++ b/api/tables.yaml @@ -160,3 +160,28 @@ Table.set: >> t = {"A"=1, "B"=2, "C"=3} +Table.with_fallback: + short: return a table with a new fallback + description: > + Return a copy of a table with a different fallback table. + return: + type: '{K=V}' + description: > + The original table with a different fallback. + args: + t: + type: '{K=V}' + description: > + The table whose fallback will be replaced. + fallback: + type: '{K=V}?' + description: > + The new fallback table value. + example: | + t := {"A"=1; fallback={"B"=2}} + t2 = t.with_fallback({"B"=3"}) + >> t2["B"] + = 3? + t3 = t.with_fallback(none) + >> t2["B"] + = none -- cgit v1.2.3