Method map()
- Method
map
mixed
map(mixed
arr
,void
|mixed
fun
,mixed
...extra
)- Description
Applies
fun
to the elements inarr
and collects the results.- Parameter
arr
arr
is treated as a set of elements, as follows:array
fun
is applied in order to each element. The results are collected, also in order, to a value of the same type asarr
, which is returned.mapping
fun
is applied to the values, and each result is assigned to the same index in a new mapping, which is returned.program
The program is treated as a mapping containing the identifiers that are indexable from it and their values.
object
If there is a lfun::cast method in the object, it's called to try to cast the object to an array, a mapping, or a multiset, in that order, which is then handled as described above.
- Parameter
fun
fun
is applied in different ways depending on its type:function
(mixed
... :mixed
)fun
is called for each element. It gets the current element as the first argument andextra
as the rest. The result of the call is collected.object
fun
is used as a function like above, i.e. the lfun::`() method in it is called.array
Each element of the
fun
array will be called for each element ofarr
.multiset
fun
is indexed with each element. The result of that is collected.zero
|void
Each element that is callable is called with
extra
as arguments. The result of the calls are collected. Elements that aren't callable gets zero as result.string
Each element is indexed with the given string. If the result of that is zero then a zero is collected, otherwise it's called with
extra
as arguments and the result of that call is collected.This is typically used when
arr
is a collection of objects, andfun
is the name of some function in them.- Note
The function is never destructive on
arr
.- See also
filter(), enumerate(),
foreach()