LISP - Construire

La construction do est également utilisée pour effectuer des itérations à l'aide de LISP. Il fournit une forme structurée d'itération.

La syntaxe de l'instruction do -

(do ((variable1    value1   updated-value1)
      (variable2   value2   updated-value2)
      (variable3   value3   updated-value3)
   ...)
   (test return-value)
   (s-expressions)
)

Les valeurs initiales de chaque variable sont évaluées et liées à la variable respective. La valeur mise à jour dans chaque clause correspond à une instruction de mise à jour facultative qui spécifie comment les valeurs des variables seront mises à jour à chaque itération.

Après chaque itération, le test est évalué et s'il renvoie une valeur non nulle ou vraie, la valeur de retour est évaluée et renvoyée.

La ou les dernières expressions s sont facultatives. S'ils sont présents, ils sont exécutés après chaque itération, jusqu'à ce que la valeur de test renvoie true.

Exemple

Créez un nouveau fichier de code source nommé main.lisp et tapez le code suivant -

(do ((x 0 (+ 2 x))
   (y 20 ( - y 2)))
   ((= x y)(- x y))
   (format t "~% x = ~d  y = ~d" x y)
)

Lorsque vous cliquez sur le bouton Exécuter ou tapez Ctrl + E, LISP l'exécute immédiatement et le résultat renvoyé est -

x = 0  y = 20
x = 2  y = 18
x = 4  y = 16
x = 6  y = 14
x = 8  y = 12