raze of a table (like the .value of a grid widget) makes a dictionary mapping the first column to the second column. For example,
insert k v with "Apple" 11 "Banana" 22 end
+----------+----+
| k | v |
+----------+----+
| "Apple" | 11 |
| "Banana" | 22 |
+----------+----+
raze insert k v with "Apple" 11 "Banana" 22 end
{"Apple":11,"Banana":22}
the dd.chat[] function will exit if the value corresponding to a key in that map is a number (instead of a string or rtext), so we just need to add another entry to that dictionary.
If you have a dictionary in a variable, you can modify it in-place:
d:raze insert k v with "Apple" 11 "Banana" 22 end
{"Apple":11,"Banana":22}
d["Cursed Fruit"]:33
{"Apple":11,"Banana":22,"Cursed Fruit":33}
You can also perform the equivalent amendment if the dictionary was yielded by a subexpression, as long as you wrap it in parentheses:
(raze insert k v with "Apple" 11 "Banana" 22 end)["Cursed Fruit"]:33
{"Apple":11,"Banana":22,"Cursed Fruit":33}
You can also construct a dictionary functionally using "dict" and then take the union of some other dictionary and the new dictionary with ",":
(list "Cursed Fruit") dict 33
{"Cursed Fruit":33}
(()["Cursed Fruit"]:33) # (yet another way of saying the above)
{"Cursed Fruit":33}
(raze insert k v with "Apple" 11 "Banana" 22 end),((list "Cursed Fruit") dict 33)
{"Apple":11,"Banana":22,"Cursed Fruit":33}
Or you could make a second table and join its rows to the original (also with ",") before razing:
raze insert k v with "Apple" 11 "Banana" 22 end,insert k v with "Cursed Fruit" 33 end
{"Apple":11,"Banana":22,"Cursed Fruit":33}
Many ways to peel this particular apple. I strongly recommend using the Listener to experiment with examples like these whenever you find yourself puzzling over a tricky expression; building things up in little pieces helps you verify an idea as you go.
Do those examples make sense?