Reverse the order of an array
mtac takes input from STDIN and reverses the order of it.
It's name is derived from a program called
tac - a tool that functions like
cat but returns the contents in the reverse order. The difference with the
mtac builtin is that it is data-type aware. So it doesn't just function as a replacement for
tac but it also works on JSON arrays, s-expressions, and any other data-type supporting arrays compiled into murex.
<stdin> -> mtac -> <stdout>
» ja: [Monday..Friday] -> mtac [ "Friday", "Thursday", "Wednesday", "Tuesday", "Monday" ] # Normal output (without mtac) » ja: [Monday..Friday] [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday" ]
Please bare in mind that while murex is optimised with concurrency and streaming in mind, it's impossible to reverse an incomplete array. Thus all all of STDIN must have been read and that file closed before
mtac can output.
In practical terms you shouldn't notice any difference except for when STDIN is a long running process or non-standard stream (eg network pipe).
2darray: Create a 2D JSON array from multiple input sources
a(mkarray): A sophisticated yet simple way to build an array or list
append: Add data to the end of an array
ja: A sophisticated yet simply way to build a JSON array
jsplit: Splits STDIN into a JSON array based on a regex parameter
len: Outputs the length of an array
map: Creates a map from two data sources
msort: Sorts an array - data type agnostic
prepend: Add data to the start of an array
pretty: Prettifies JSON to make it human readable
ta: A sophisticated yet simple way to build an array of a user defined data-type