Bucle para construir en LISP

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:

  1. Esto se utiliza para configurar las variables para la iteración.
  2. Se puede utilizar para terminar condicionalmente la iteración.
  3. 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í,

  1. input_list es la lista que se va a iterar.
  2. La variable se utiliza para realizar un seguimiento de la iteración.
  3. 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *