Skip to main content

Get Item ([ Index ])

Laurence MorganAbout 2 minparser

Get Item ([ Index ])

Outputs an element from an array, map or table

Description

Outputs an element or multiple elements from an array, map or table.

Please note that indexes in Murex are counted from zero.

Usage

<stdin> -> [ element ] -> <stdout>
$variable[ element ] -> <stdout>

<stdin> -> ![ element ] -> <stdout>

Examples

Multiple array indexes

Return the 2nd (1), 4th (3) and 6th (5) element in an array:

» ja [0..9] -> [ 1 3 5 ]
[
    "1",
    "3",
    "5"
]

Multiple object keys

Return the data-type and description of config shell syntax-highlighting:

» config -> [[ /shell/syntax-highlighting ]] -> [ Data-Type Description ]
[
    "bool",
    "Syntax highlighting of murex code when in the interactive shell"
]

Excluding array indexes

Return all elements except for 1 (2nd), 3 (4th) and 5 (6th):

» a [0..9]-> ![ 1 3 5 ]
0
2
4
6
7
8
9

Excluding object keys

Return all elements except for the data-type and description:

» config -> [[ /shell/syntax-highlighting ]] -> ![ Data-Type Description ]
{
    "Default": true,
    "Dynamic": false,
    "Global": true,
    "Value": true
}

Filtering tabulated output

Selecting columns by name

Return the top 5 processes from ps, ordered by memory usage:

» ps aux -> [PID %MEM COMMAND] -> sort -nrk2 -> [..5]
915961  14.4  /home/lau/dev/go/bin/gopls
916184  4.4   /opt/visual-studio-code/code
108025  2.9   /usr/lib/firefox/firefox
1036    2.4   /usr/lib/baloo_file
915710  1.9   /opt/visual-studio-code/code

Selecting columns by index

Return the 1st and 5th column:

» ps aux -> [*A *E] -> head -n5                                                                                                                                                                                                       
USER    VSZ
root    168284
root    0
root    0
root    0

Selecting rows

Return the 1st and 30th row:

» ps aux -> [*1 *30]
USER    PID     %CPU    %MEM    VSZ     RSS     TTY     STAT    START   TIME    COMMAND
root    37      0.0     0.0     0       0       ?       I<      Dec18   0:00    [kworker/3:0H-events_highpri]

Detail

Index counts from zero

Indexes in Murex behave like any other computer array in that all arrays start from zero (0).

Include vs exclude

As demonstrated in the examples above, [ specifies elements to include where as ![ specifies elements to exclude.

Don't error upon missing elements

By default, index generates an error if an element doesn't exist. However you can disable this behavior in config

» config -> [ foobar ]
Error in `[` ((builtin) 2,11): Key 'foobar' not found

» config set index silent true

» config -> [ foobar ]

Synonyms

  • [
  • ![
  • item-index
  • index

See Also


This document was generated from builtins/core/index/index_doc.yamlopen in new window.

Last update:
Contributors: Laurence Morgan