Operator Type:
Operator Scope of Action:
Operator Purpose:
Operator First Added:
Operator Last Altered:
Function [other Function type actions]
Item [operators of similar scope]
Formatting [other Formatting operators]
Baseline
As at baseline
List/Set.format(formatStr)
If data is a List or Set, returns the list into a String, with formatStr inserted between each discrete list element (so not after the last item. The process preserves original data; duplicate values in lists are maintained. For example:
$MyString = $DisplayedAttributes.format(", ");
converts Displayed Attributes to a comma+space-separated list. To put each item on a separate line use this:
$MyString = $DisplayedAttributes.format("\n");
Doing the same for HTML export, you might want the rendered text to have each value on a new line so use:
$MyString = $DisplayedAttributes.format("<br>");
Thus $Text may be created from concatenation of other texts:
$Text = (collect(children, $Text)).format("\n");
Optionally, you may supply four arguments to format the list or set as an HTML list:
$MyString = List/Set.format("listPrefix","itemPrefix","itemSuffix","listSuffix");
For example:
$MyString = $Classes.format("<ul>","<li>","</li>","</ul>");
will return HTML code for a bulleted list with each set member marked up as a list item. Note that the tags must be in double quotes. To have each element on a separate line and indent the items add tabs and line breaks:
$MyString = $Classes.format("<ul>\n","\t<li>","</li>\n","</ul>\n");
To make this easier to use in a code export context, you might pass the output of format into another attribute and call the latter within the template with a ^value()^ code. By a repeated use of format it is possible to export lists of links.
Other form of list-to-string join
In some data export contexts, tit may be necessary to add a join string while generating a string from an iterated list. See adding joins in loops.
Similar functions
This supplements the existing format() function.