![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Recursion and Higher-order Functions - slide 17 : 35 |
The function apply calls a function on a list of parameters
> (+ 1 2 3 4) 10 > (+ (list 1 2 3 4)) +: expects argument of type <number>; given (1 2 3 4) > (apply + (list 1 2 3 4)) 10 > (reverse (list 1 2 3 4)) (4 3 2 1) > (reverse 1 2 3 4) reverse: expects 1 argument, given 4: 1 2 3 4 > (apply reverse (list 1 2 3 4)) reverse: expects 1 argument, given 4: 1 2 3 4 > (define (reverse-1 . x) (reverse x)) > (reverse-1 1 2 3 4) (4 3 2 1) > (apply reverse-1 (list 1 2 3 4)) (4 3 2 1)