blob: 4543a2e834e16ce7c42d45e905359f952124f67e [file] [log] [blame]
map_objects(E)
FUNKTION:
object *map_objects(object *arr, string fun [, mixed extra])
PARAMETER:
arr - zu mappendes Array von Objekten/Objektpfaden
fun - an Objekten zu rufende Methode
extra - weitere Parameter fuer Methode
BESCHREIBUNG:
Mapped die Elemente aus 'arr' durch den Aufruf der Methode 'fun' an
jedem der Elemente von 'arr' in ein neues Array.
0-Eintraege werden ignoriert.
Der Rueckgabewert von
arr[n]->fun([extra1, extra2, ...])
wird an der Indexposition des Elementes in das neue Array eingetragen.
RUeCKGABEWERT:
Array mit Resultaten der Funktionsaufrufe am jeweiligen Objekt.
BEMERKUNGEN:
Werden Pfade angegeben, so wird versucht ein Objekt zu laden, falls
dieses nicht existiert.
BEISPIEL:
// ersetze alle Objekte durch ihre Namen
arr=map_objects(inputarr, "name");
// ersetze alle Objekte durch ihre Namen im Genitiv
arr=map_objects(inputarr, "name", WESSEN);
AeQUIVALENZCODE (nicht empfohlen, nur zum Verstaendnis!):
int i;
object *ret; mixed *input;
i=sizeof(input);
ret=allocate(i);
while(i--)
ret[i]=input[i]->fun([extra1, extra2, ...]);
SIEHE AUCH:
Arrays: filter(E), map(E)
Objektarrays: filter_objects(E)
Mappings: filter_indices(E), map_indices(E)
Sonstiges: sort_array(E), unique_array()
alist, transpose_array(E)
20.Jan 2005 Gloinson