scheme:apply
Un article de Polydoc.
!!! Synopsis ==
(apply proc L) -> (proc L1 L2 L3...)
[modifier] Description
En Scheme, de nombreuses fonctions comme + ou > prennent autant d'arguments que l'on veut. Par exemple
(> a b c d)
est valide et renvoie #t si a, b, c et d sont rangés dans l'ordre décroissant.
Toute fois, il est impossible d'écrire
(> foo)
même si foo est une liste d'éléments dont on voudrait vérifier l'ordre.
apply sert donc à appliquer une fonction à une liste.
[modifier] Exemples
> (let ((liste '(1 2 3 4))) (apply < liste)) #t > (let ((liste '(1 2 3))) (apply / liste)) 1/6 > (let ((liste '('(1 2 3) '(1 2 3)))) (apply equal? liste)) #t

