SYNOPSIS
        mixed unique_array(object *obj, string separator);
        mixed unique_array(object *obj, string separator, mixed skip);

BESCHREIBUNG
        Gruppiert alle Objekte aus <*obj>, fuer die die Funktion <separator>
        den gleichen Wert liefert. Wenn <*obj> etwas anderes als Objekte
        enthaelt, werden diese ignoriert. Die Funktion <separator> wird
        in jedem Objekt in <*obj> nur einmal aufgerufen. Wenn kein <separator>
        angegeben ist, wird 0 verwendet.

        Wird ein Argument <skip> angegeben, und entspricht <skip> dem
        Resultat von <separator> fuer ein Element aus <*obj>, so wird
        dieses Element nicht in das Resultat von unique_array()
        uebernommen. Das Resultat von unique_array() hat die Form:

            ({ ({same1:1, same1:2, ... same1:n}),
               ({same2:1, same2:2, ... same2:n}),
               ({samem:1, samem:2, ... samem:n}) })

BEISPIELE
        Um ein Array von Arrays zu erhalten, das alle Benutzer, nach Level
        gruppiert, enthaelt:

            mixed *arr;
            arr = unique_array(users(), "_query_level", -1);

        Goetter haben einen Level von -1. Sie werden nicht in arr aufgenommen,
        weil <skip> == -1.

SIEHE AUCH
        filter(E), map(E)
