You are on page 1of 1

AutoLISP

(cond ((= s "I") 1)


((= s "i") 1)
((= s "N") 0)
((= s "n") 0)
(T nil)
)

1.10. Ciklusszervezés AutoLISP-ben


A ciklusok szervezése bármely programozási nyelv egyik elengedhetetlen eszkö-
ze. A ciklusok két részből állnak: a ciklusfejből és ciklusmagból. A ciklusfej tartal-
mazza a függvény nevét és a ciklus működésének, illetve befejezésének feltételét.
A ciklusmag azon kifejezések összessége, amelyekre a ciklusban ismételten visz-
szatérünk. A ciklusban módosítjuk a kifejezésben szereplő változók értékeit, és
ugyanazokat a műveleteket hajtjuk végre ezekkel a módosított értékekkel. Ciklus-
szervező függvényekkel előtesztelő ciklusokat készíthetünk. Ez azt jelenti, ha a
ciklusfüggvény kerül kiértékelésre, az első lépés egy feltételvizsgálat lesz, hogy
teljesülnek-e a ciklusmagban lévő kifejezések kiértékelésének feltételei. Ha igen,
akkor megtörténik a ciklusmagban található kifejezések kiértékelése. Ha pedig
nem, akkor a ciklusmagot kihagyja és folytatja a következő kifejezés kiértékelésé-
vel.
A repeat, while és a foreach az AutoLISP ciklusfüggvényei. A három függvény
között lényeges különbség van tartalmilag és formailag is.
A legegyszerűbb a repeat függvény:

(repeat <hanyszor> <kifejezesek…>).

A függvény annyiszor ismétli a kifejezéssorokat, amennyi a hanyszor argumen-


tum (amely egy egész szám vagy egy egész számra értékelendő kifejezés) értéke.
Egy lista minden elemének kiértékelését egy kifejezésre, a foreach függvény
segítségével tehetjük meg.

(foreach <nev> <lista> <kifejezes…..>)

Ez a függvény a listán végighaladva, annak minden elemét hozzárendeli a nev-


hez, és a listában lévő minden elem esetére mindegyik kifejezést kiértékeli. A
függvényhívásban tetszőleges számú kifejezés adható meg. A foreach függvény
az utolsó kifejezés kiértékelésének eredményével tér vissza. Például:

(foreach lovak '(“EZ” “EGY” “PELDA”) (print lovak))


“EZ”
“EGY”
“PELDA” “PELDA”

30

You might also like