Asignación
Botlang es un lenguaje funcional, por lo que la asignación de un valor a un identificador es inmutable.
Definición de valores¶
define¶
Permite asignar un valor cualquiera a un identificador. La asignación será local a nivel de módulo o bloque, dependiendo de dónde se defina.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | ; (define identifier value) (define x 2) (define y 3) (+ x y) >> 5 (define f (function (x) (begin (define z 10) (+ x z) )) ) (f 1) >> 11 z >> Error ; Identificador definido localmente a nivel de la función f. |
defun¶
defun
es una macro que facilita la definición de funciones.
Esto se ilustra con un ejemplo:
1 | (defun f (a b) (+ a b)) |
Es equivalente a
1 | (define f (function (a b) (+ a b))) |