jn wrote:
> > The next one (I can't recall if there's a common name for it) can be
used for statistics and other fun things:

Chris wrote:
> In Lisp this function is still MAP. MAP takes any number of sequences and
the function takes a number of arguments equal to the number of sequences:

>      (map 'vector #'max '(4 7 16) '(9 5 15))
>      => '(9 7 16)
> Perhaps the REBOL map implementation could do the same.

>> source map
map: func [[catch] Blocks [block!] F [any-function!] /local Results
F-Block][
    Results: none
    if equal? length? Blocks length? first :F [
        Results: make block! length? first blocks
        repeat i length? first Blocks [
            F-Block: copy []
            append F-Block :F
            foreach Block Blocks [
                append/only F-Block Block/:i
            ]
            append/only Results do F-Block
        ]
    ]
    Results
]
>> map [[4 7 16] [9 5 15]] :max
== [9 7 16]

Bug reports gratefully accepted.

Andrew Martin
ICQ: 26227169
http://members.nbci.com/AndrewMartin/
-><-


Reply via email to