fold - luxembourg/muxcode-clm GitHub Wiki

FOLD()

FUNCTION: fold([<obj>/]<attr>, <list>[, <base-case>[, <delim>])

This function iteratively processes a list through a function, feeding the result of one step into the next step as %0, passing in the next element from the list as %1.

If a base case is provided, it is used as the initial %0. If not, the first list element is passed as %0 and the second is passed as %1, and subsequent iterations proceed normally.

<delimiter> may be used to specify a delimiter other than space, but you must specify a base case in order to specify the delimiter.

Examples: > &REP_NUM object=[%0][repeat(%1,%1)] > say fold(object/rep_num,1 2 3 4 5,->) You say, "->122333444455555" > &ADD_NUMS object=add(%0,%1) > say fold(object/add_nums,1 2 3 4 5) You say, "15"

Related Topics: u, iter, map, filter