foreach (index) arr[index] = ob->fun(arr[index],extra);
The value returned by ob->fun(array[index],extra) replaces the existing element in the array. If arr is not an array, then 0 will be returned.
The extra argument is optional. ob can also be a file_name. If ob is omitted, this_object() is default.
string ask_for_uid(object obj) {
return getuid(obj);
}
void func() {
string *names;
names = map_array(users(), "ask_for_uid", this_object());
/* equivalent but a bit smaller and faster is the following */
names = map_array(users(), #'getuid );
...
}
This will create an array holding all uids of the current
users.