Create array (%[]) constructor - Parser Reference

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.

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 site's content is rebuilt automatically from murex's source code after each merge to the master branch. Downloadable murex binaries are also built with the website.

Last built on Fri May 19 22:45:48 UTC 2023 against commit 54b5f6754b5f67b250bbf7353e83c42ed187802584c3ae3.

Current version is 4.1.6140 which has been verified against 14045 tests cases.