Next: , Previous: cursor-twitch, Up: GCL Reference


7.2.31 defun

(defun NOME (ARG1 ...) [DOCSTRING] EXPR1 ...)
Define uma chamada expressão lambda, isto é: define NOME para avaliar para a expressão lambda (lambda (ARG1 ...) (EXPR1 ...)) quando chamada como uma função. Também, instala DOCSTRING como resposta para os comandos (help NOME) e (morehelp NOME). Note que DOCSTRING não precisa conter a sinopse do comando, essa sinopse é gerada automaticamente. EXPR1 não pode ser uma sequência de caracteres se DOCSTRING for omitida; EXPR1 deve ser interpretada como a sequência de caracteres documento. O valor de retorno da (defun ...) é o nome da função. Funções podem ser recursivas e podem modificar a si mesmas. é posível redefinir funções internas, nesse caso a definição antiga está ainda disponível so o nome -builtin-OLDNAME-. Valores de argumento podem ser alterados por setq; a nova associação é descartada após avaliação de surroundingdefun-body. As palavras especiais &optional e &rest possuem o mesmo significado que a expressão lambda anonymous, veja nas referência adiante. See (lambda ...). See (setq ...). See (let ...).