(dm: […Any]) → datamap
Also known as: (datamap:)
Creates a datamap, which is a data structure that pairs string names with data values. You should provide a string name, followed by the value paired with it, and then another string name, another value, and so on, for as many as you'd like.
(dm:) creates an empty datamap.
(dm: "Cute", 4, "Wit", 7) creates a datamap with two names and values.
The following code also creates a datamap, with the names and values laid out in a readable fashion:
(dm: "Susan", "A petite human in a yellow dress", "Tina", "A ten-foot lizardoid in a three-piece suit", "Gertie", "A griffin draped in a flowing cape", )
For an explanation of what datamaps are, see the Datamap article. This macro is the primary means of creating datamaps - simply supply a name, followed by a value, and so on.
In addition to creating datamaps for long-term use, this is also used to create “momentary” datamaps which are used only in some operation. For instance, to add several values to a datamap at once, you can do something like this:
(set: $map to it + (dm: "Name 1", "Value 1", "Name 2", "Value 2"))
You can also use (dm:) as a kind of “multiple choice” structure, if you combine it with
of syntax. For instance…
(set: $element to $monsterName of (dm: "Chilltoad", "Ice", "Rimeswan", "Ice", "Brisketoid", "Fire", "Slime", "Water" ))
…will set $element to one of those elements if $monsterName matches the correct name. But, be warned: if none of those names matches $monsterName, an error will result.