.\"partitions a set of objects according to the action of a separator function .TH unique_array 3 "5 Sep 1994" MudOS "LPC Library Functions" .SH NAME unique_array() - partitions an array of objects into groups .SH SYNOPSIS mixed unique_array( object *obarr, string separator, void | mixed skip ); mixed unique_array( mixed *arr, function f, void | mixed skip ); .SH DESCRIPTION Groups objects together for which the `separator' function returns the same value. `obarr' should be an array of objects, other types are ignored. The `separator' function is called only once in each object in `obarr'. THe optional `skip' parameter enables a pre-filter on `obarr', skipping elements which match `skip'. The second form works a bit differently. each element of the array is passed to f and the elements are partitioned based on the return value of f. In particular, the array does not need to be composed of objects. .SH RETURN VALUE The return value is an array of arrays of objects on the form: .PP .nf ({ ({Same1:1, Same1:2, Same1:3, .... Same1:N }), ({Same2:1, Same2:2, Same2:3, .... Same2:N }), ({Same3:1, Same3:2, Same3:3, .... Same3:N }), .... .... ({SameM:1, SameM:2, SameM:3, .... SameM:N }), })