Next: , Previous: interest, Up: GCL Reference


7.2.68 lambda

(lambda (ARG1 ...) EXPR1 ... EXPRN)
Uma expressão lambda é como uma função. Para “chamar” uma expressão lambda, a expressão lambda tem de ser chamada como uma função: ((lambda (arg) (+ 1 arg)) 2). Nesse exemplo, o valor completo da expressão deve ser 3. Em geral, o valor da chamada irá ser o valor de EXPRN. A primeira lista serve para definir os parâmetros formais. A expressão lambda propriamente dita é apenas uma lista, iniciando-se com a palavra chava lambda, seguida por muitas listas entre aspas duplas. See (defun ...). See (setq ...). See (let ...). Note que a lista argumento pode conter as palavras chaves especiais
&optional
fornecimento de valores aos identificadores seguintes é opcional, seus valores padrão irão ser nil
&rest
todos os argumentos excedentes irão ser coletados em uma lista, e essa lista irá ser atribuída ao argumento seginte, da seguinte forma:
               ((lambda (&rest rest) (echo rest)) a b c d)

A saída irá ser (a b c d).