msort
)Sorts an array - data type agnostic
This builtin takes input from stdin, sorts it and the outputs it to stdout.
The code behind msort
is significantly more lightweight than UNIX sort. It doesn’t work with numeric types (eg sorting floating point numbers), reversed order nor multi-column data. It is specifically designed to work with lists of data. For example arrays in data formats like JSON (json
), YAML (yaml
) or S-Expressions (sexp
); or lists of strings (str
). The intention is to cover use cases not already covered by UNIX sort while also providing something rudimentary for Murex scripts to function on Windows without having to write lots of ugly platform-specific code. This is also the reason this builtin is called msort
rather than conflicting with the existing UNIX name, sort
.
<stdin> -> msort -> <stdout>
» tout json (["c", "b", "a"]) -> msort
[
"a",
"b",
"c"
]
Since msort
does not support reversed order, you will need to pipe the output of msort
into another builtin:
» tout json (["c", "b", "a"]) -> msort -> mtac
[
"c",
"b",
"a"
]
msort
list.sort
alter
/ ~>
): Change a value within a structured data-type and pass that change along the pipeline without altering the original source inputappend
): Add data to the end of an arraycount
): Count items in a map, list or arrayja
): A sophisticated yet simply way to build a JSON array[ ..Range ]
: Outputs a ranged subset of data from stdin[ Index ]
): Outputs an element from an array, map or table[[ Element ]]
): Outputs an element from a nested structureprepend
): Add data to the start of an arraymtac
): Reverse the order of an arrayjsplit
): Splits stdin into a JSON array based on a regex parametera
): A sophisticated yet simple way to stream an array or list (mkarray)This document was generated from builtins/core/lists/msort_doc.yaml.
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 Tue Dec 10 22:56:57 UTC 2024 against commit 60f05a260f05a227caf73dd5b3478e3cb3f4bb24e46745b.
Current version is 6.4.1005 (develop) which has been verified against tests cases.