Používání proměnných a operátorů v AutoLISPu

Přehled informací

Přehled datových typů AutoLISPu

AutoLISP nabízí několik datových typů, následující přehled ukazuje jednotlivé typy AutoLISPu s příklady použití (tvaru):

Typy proměnných v AutoLISPu

V AutoLISPu máme k dispozici dva typy proměnných:

Globální proměnné

Globální proměnné jsou přístupné všem funkcím načteným v rámci výkresu AutoCADu. Globální proměnné lze s výhodou použít jako "paměť" pro uchování např. nastavení dialogových prvků (použito v naší funkci). Dále si mohou tyto proměnné ponechat hodnotu od programu, který je definoval. Mezi hlavní nevýhody patří nesnadné odhalení chyby (modifikace proměnné při běhu programu).

Lokální proměnné

Lokální proměnné si uchovávají hodnotu pouze po dobu běhu funkce, která je definovala. Po skončení běhu funkce je lokální proměnná automaticky odstraněna z paměti. Velkou výhodou lokálních proměnných je skutečnost, že je mohou měnit pouze příkazy v rámci funkce, která lokální proměnnou definovala. Z toho vyplývá daleko snazší odstranění chyb při modifikaci proměnné.

Lokálních proměnné jsou deklarovány za znakem lomítka / (viz příklad):

(defun jméno_funkce (/ jména_lokálních_proměnných)
  - tělo funkce 
)

Používání proměnných v AutoLISPu

Při psaní programů (funkcí v AutoLISPu) není potřeba předem deklarovat proměnné (jako je tomu například v programovacím jazyce C). Pokud v programu potřebujete použít nějakou proměnnou stačí pouze do proměnné přiřadit hodnotu.

V AutoLISPu se přiřazení hodnoty do proměnné uskuteční pomocí příkazu setq.

Příklad přiřazení hodnoty do proměnné

                   (setq promenna 9 druha 66.6) 

                   (setq retezec "tohle je retezec") 

Poznámka - prázdná proměnná

AutoLISP umožňuje přiřadit do proměnné prázdnou hodnotu - nil. Hodnota nil znamená skutečně "žádný znak, nic". Pokud byste do proměnné přiřadily 0 nebo "" jednalo by se již o hodnoty typu integer, resp. string.

Předdefinované proměnné

AutoLISP nabízí k použití následující předdefinované proměnné:

Práce s proměnnými typu list - seznam

Jak již je patrné z názvu programovacího jazyk Auto LISP jedná se o jazyk pracující se seznamy (List procesing language). Seznamy v LISPu vytváří podstatnou část jeho funkčnosti. Řada funkcí pracující s AutoCADem vrací přímo hodnoty ve tvaru seznamu, např. funkce getpoint vrací souřadnice formou seznamu.

Seznamy slouží k uchování dat, které mohou být různých datových typů. Příklad vytvoření seznamu o třech různých prvcích:

                   (setq seznam1 (list 1.0 "prvek" 6))

Nejdůležitější funkce pracující se seznamem