Autocad II
Sageli esineb siiski olukordi, kus neid
tuleb täita rohkem. Lausega
(progn lause1 lause2 ...)
saab muuta kuitahes palju lauseid formaalselt üheks lauseks, nii nagu alljärgnevas näites:
(if (= a b)
(progn
(princ "nA = B ")
(setq a (+ a 10) b ( b 10))
)
)
Seega, nagu veendusime, võimaldavad funktsioonid if ja cond luua hargnevaid protseduure.
Järgnevalt käsitletakse lauseid, mis võimaldavad protseduuriosade tsüklilist täitmist, mida
paljudes protseduurides oluliselt vaja läheb. Tsüklite organiseerimiseks sisaldab AutoLISP-
keel kolme funktsiooni. Lausega
(while tingimus lause1 lause2 ...)
korratakse osalauseid lause1, lause2 jne. seni, kuni tingimusavaldise väärtus on veel tõene
(st. pole nil). On loomulik, et funktsiooni while koosseisu kuuluvate lausete igakordsel kor-
damisel võib tingimusavaldise väärtus muutuda. Tsükli täitmiskordade arv selgub järelikult