• [^] # Re: Exemple de test d'un code retour erreur en Lisp ?

    Posté par . En réponse à la dépêche Peter Seibel : Practical Common Lisp. Évalué à 1.

    il y a surtout qu'en terme de multi paradigme CL est particulierement ouvert, en faisant reference a des usages de certains langages tu auras donc le plus souvent du code refletant les usages des langages en questions, j'avais au depart penser donner une reponse a base de cond Scheme (qui n'est lui meme qu'une macro hygienic a base de if) avant de me rappeler que le cond CL ne propose pas "l'operateur" => par defaut (il faudrait ecrire une macro hygienic pour, ce qui est toujours plus propre qu'introduire un symbole arbitraire :):
    (cond ( ((case0-function) 'pwet) ; classic CL usage
     ((case1-function) => function-recevant-la-valeur-non-nil)
     ((case2-function) => (lambda (x) `(pwet ,x)))
     ((case3-function) => (lambda (x) (a-function 42 x "pwet")))
     (else 'each_casex-fonction_return_nil))
    
    qui melange joyeusement case et erreur, le else devenant t en CL et l'usage du => demandant de passer par une macro. Evidemment pour des operateurs/statement aussi basic que if/switch c'est a peu de choses pret partout pareil.