On Wed, Jul 22, 2009 at 09:13:31AM -0300, Andre Fernandes wrote: > Oi, > > Ainda sou um pouco inexperiente em Lisp, e tentei rodar o código mostrado > pelo Alan no common lisp (apenas trocando 'define' por 'defun'), contudo não > funcionou. > > É possível fazer esse código funcionar no common lisp? Ou isso é uma > característica específica do Scheme?
O conceito existe em CL, mas sua expressão é um pouco diferente. > O código que tentei rodar foi: > (defun a-plus-abs-b (a b) > ((if (> b 0) + -) a b)) > Mas não tive sucesso algum. (defun a-plus-abs-b (a b) (funcall (if (> B 0) #'+ #'-) A B)) Em CL existe o "funcall" que chama uma função f com argumentos a1, a2, ...: (funcall #'f a1 a2 ...) == (f a1 a2 ...) J. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lisp-br" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/lisp-br?hl=en -~----------~----~----~----~------~----~------~--~---
