From b37bd70b602b7ac6427dcf29f7cd9241b0a7ae09 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Sat, 10 Aug 2024 16:03:41 -0400 Subject: For tables, deprecate support for square bracket indexing and .default values, replacing them with a `:bump()` function for tables with numeric values. This means that counters can be implemented easily without the need to mask complexity. --- test/tables.tm | 32 ++++++++++++-------------------- 1 file changed, 12 insertions(+), 20 deletions(-) (limited to 'test/tables.tm') diff --git a/test/tables.tm b/test/tables.tm index 6dbc1b78..d02a5272 100644 --- a/test/tables.tm +++ b/test/tables.tm @@ -1,12 +1,12 @@ func main(): - >> t := {"one":1, "two":2; default=999} - = {"one":1, "two":2; default=999} + >> t := {"one":1, "two":2} + = {"one":1, "two":2} - >> t["one"] + >> t:get("one", 999) = 1 - >> t["two"] + >> t:get("two", 999) = 2 - >> t["???"] + >> t:get("???", 999) = 999 t_str := "" @@ -17,8 +17,6 @@ func main(): >> #t = 2 - >> t.default - = @%999? >> t.fallback = !{Text:Int} @@ -28,21 +26,19 @@ func main(): = [1, 2] >> t2 := {"three":3; fallback=t} - = {"three":3; fallback={"one":1, "two":2; default=999}} + = {"three":3; fallback={"one":1, "two":2}} - >> t2["one"] + >> t2:get("one", 999) = 1 - >> t2["three"] + >> t2:get("three", 999) = 3 - >> t2["???"] + >> t2:get("???", 999) = 999 >> #t2 = 1 - >> t2.default - = !Int >> t2.fallback - = @%{"one":1, "two":2; default=999}? + = @%{"one":1, "two":2}? t2_str := "" for k,v in t2: @@ -64,6 +60,8 @@ func main(): do: >> plain := {1:10, 2:20, 3:30} + >> plain:get(2) + = 20 >> plain:get(2, -999) = 20 >> plain:get(456, -999) @@ -79,9 +77,3 @@ func main(): >> fallback:get(1, -999) = 10 - >> default := {5:50; default=0} - >> default:has(28273) - = yes - >> default:get(28273, -999) - = 0 - -- cgit v1.2.3