Si está familiarizado con otros lenguajes de programación, como C/C++, Perl o Java, sabe que no necesita espacios blancos alrededor de operadores matemáticos para formar, apropiadamente, una expresión:
3+5, 3 +5, 3+ 5
Estos son aceptados por los compiladores de C/C++, Perl o Java. Esto mismo, no es cierto para Scheme. En Scheme, debe tener un espacio después de un operador matemático (u otra nombre de función u operador), para que sea correctamente interpretado por el intérprete de Scheme.
Practique un poco con operaciones matemáticas simples en la consola de ScriptFu hasta que esté cómodo con estos conceptos iniciales.
Variables y funciones
Ahora que sabemos que todas las declaraciones en Scheme están entre paréntesis, y que el nombre de función/operadores se listan primero, necesitamos saber como crear y usar variables, y como crear y usar funciones. Comenzaremos con las funciones.
Declarando variables
Aunque hay un par de métodos diferentes para declarar variables, el método preferido es usar la construcción let*. Si está familiarizado con otros lenguajes de programación, esta construcción es equivalente a definir una lista de variables locales y una extensión en la cual están activas. Como ejemplo, para declarar dos variables, a y b, inicializadas a 1 y 2, respectivamente, escriba:
(let* ( (a 1) (b 2) ) (+ a b) ) |
o, en una linea:
(let* ( (a 1) (b 2) ) (+ a b) )
Tendrá que poner todo esto en una linea si está usando la ventana de la consola. En general, querrá adoptar una práctica similar para ayudar a hacer sus scripts más legibles. Hablaremos un poco más de esto en la sección espacio blanco. Esto declara dos variables locales, a y b, inicializados, que muestra la suma de las dos variables.
¿Que es una variable local?
Notará que escribimos la suma (+ a b) bajo los paréntesis de la expresión let* , no después de ella.
Esto es porque la declaración let* define un area en su script en el que se declaran las variables que serán utilizables; si teclea (+ a b) y después (let* …), obtendrá un error, porque las variables declaradas son, solo, válidas bajo el contexto de la declaración let* ; son lo que los programadores llaman variables locales.