Skip to main content

%[] Array Builder

Laurence MorganAbout 2 minOperators And TokensConstants

%[] Array Builder

Quickly generate arrays

Description

%[] is a way of defining arrays in expressions and statements. Whenever a %[] array is outputted as a string, it will be converted to minified JSON.

Array elements inside %[] can be whitespace and/or comma delimited. This allows for compatibility with both Bash muscle memory, and people more familiar with JSON.

Additionally you can also embed a style parameters inside %[] arrays too.

Like with YAML, strings in %[] do not need to be quoted unless you need to force numeric or boolean looking values to be stored as strings.

Examples

Arrays passed as a JSON string:

» echo %[1..3]
[1,2,3]

» %[1..3] -> cat
[1,2,3]

Different supported syntax for creating a numeric array:

As a range

» %[1..3]
[
    1,
    2,
    3
]

JSON formatted

» %[1,2,3]
[
    1,
    2,
    3
]

Whitespace separated

» %[1 2 3]
[
    1,
    2,
    3
]

Values and ranges

» %[1,2..3]
[
    1,
    2,
    3
]

Strings

barewords and whitespace separated

This will allow you to copy/paste lists from traditional shells like Bash

» %[foo bar]
[
    "foo",
    "bar"
]

JSON formatted

» %["foo", "bar"]
[
    "foo",
    "bar"
]

Special ranges

» %[June..August]
[
    "June",
    "July",
    "August"
]

A full list of special ranges are available at docs/mkarray/special

Multiple expansion blocks:

» %[[A,B]:[1..4]]
[
    "A:1",
    "A:2",
    "A:3",
    "A:4",
    "B:1",
    "B:2",
    "B:3",
    "B:4"
]

Nested arrays:

» %[foo [bar]]
[
    "foo",
    [
        "bar"
    ]
]

The % prefix for the nested array is optional.

JSON objects within arrays

» %[foo {bar: baz}]
[
    "foo",
    {
        "bar": "baz"
    }
]

The % prefix for the nested object is optional.

Detail

Murex supports a number of different formats that can be used to generate arrays. For more details on these please refer to the documents for each format

See Also


This document was generated from gen/parser/create_array_doc.yamlopen in new window.

Last update:
Contributors: Laurence Morgan