El ciclo for construct en LISP común se usa para iterar sobre un iterable, similar al ciclo for en otros lenguajes de programación. Se puede utilizar para lo siguiente:
- Esto se utiliza para configurar las variables para la iteración.
- Se puede utilizar para terminar condicionalmente la iteración.
- Se puede utilizar para operar en los elementos iterados.
La construcción bucle For puede tener varias sintaxis.
Sintaxis:
- Para iterar sobre una lista:
(loop for variable in input_list do (statements/conditions) )
Aquí,
- input_list es la lista que se va a iterar.
- La variable se utiliza para realizar un seguimiento de la iteración.
- Las declaraciones/condiciones se utilizan para operar en los elementos iterados.
- Para iterar sobre el rango dado:
(loop for variable from number1 to number2 do (statements/conditions) )
Aquí,
- El número 1 es el número inicial y el número 2 es el número final del rango.
- La variable se utiliza para realizar un seguimiento de la iteración.
- Las declaraciones/condiciones se utilizan para operar en los elementos iterados.
Ejemplo: Programa LISP para imprimir números en un rango
Lisp
;range from 1 to 5 (loop for i from 1 to 5 ;display each number do (print i) )
Producción:
1 2 3 4 5
Ejemplo 2: Programa LISP para iterar elementos sobre una lista.
Lisp
;list with 5 numbers (loop for i in '(1 2 3 4 5) ;display each number do (print i) ) ;list with 5 strings (loop for i in '(JAVA PHP SQL HTML CSS) ;display each string do (print i) )
Producción:
1 2 3 4 5 JAVA PHP SQL HTML CSS
Ejemplo 3: Programa LISP para iterar cada número del rango y realizar operaciones de incremento y decremento.
Lisp
;list with 5 numbers (loop for i in '(1 2 3 4 5) ;display each number by incrementing each number by 5 do (print (incf i 5)) ) ;list with 5 numbers (loop for i in '(1 2 3 4 5) ;display each number by decrementing each number by 5 do (print (decf i 5)) )
Producción:
6 7 8 9 10 -4 -3 -2 -1 0
Publicación traducida automáticamente
Artículo escrito por manojkumarreddymallidi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA