blob: 4543a2e834e16ce7c42d45e905359f952124f67e [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001map_objects(E)
2
3FUNKTION:
4 object *map_objects(object *arr, string fun [, mixed extra])
5
6PARAMETER:
7 arr - zu mappendes Array von Objekten/Objektpfaden
8 fun - an Objekten zu rufende Methode
9 extra - weitere Parameter fuer Methode
10
11BESCHREIBUNG:
12 Mapped die Elemente aus 'arr' durch den Aufruf der Methode 'fun' an
13 jedem der Elemente von 'arr' in ein neues Array.
14 0-Eintraege werden ignoriert.
15
16 Der Rueckgabewert von
17 arr[n]->fun([extra1, extra2, ...])
18 wird an der Indexposition des Elementes in das neue Array eingetragen.
19
20RUeCKGABEWERT:
21 Array mit Resultaten der Funktionsaufrufe am jeweiligen Objekt.
22
23BEMERKUNGEN:
24 Werden Pfade angegeben, so wird versucht ein Objekt zu laden, falls
25 dieses nicht existiert.
26
27BEISPIEL:
28 // ersetze alle Objekte durch ihre Namen
29 arr=map_objects(inputarr, "name");
30
31 // ersetze alle Objekte durch ihre Namen im Genitiv
32 arr=map_objects(inputarr, "name", WESSEN);
33
34AeQUIVALENZCODE (nicht empfohlen, nur zum Verstaendnis!):
35 int i;
36 object *ret; mixed *input;
37
38 i=sizeof(input);
39 ret=allocate(i);
40 while(i--)
41 ret[i]=input[i]->fun([extra1, extra2, ...]);
42
43SIEHE AUCH:
44 Arrays: filter(E), map(E)
45 Objektarrays: filter_objects(E)
46 Mappings: filter_indices(E), map_indices(E)
47
48 Sonstiges: sort_array(E), unique_array()
49 alist, transpose_array(E)
50
5120.Jan 2005 Gloinson