LISP-intro – del 1

Visual LISP programmeringsinterfacet

I stedet for at skrive AutoLisp-kode på AutoCADs kommandolinje, er det meget nemmere at benytte det integrerede AutoLisp brugerinterface, som vi åbner med kommandoen VLIDE. VLIDE står for Visual LISP Integrated Development Environment.

Herefter åbner vi det vindue, som kaldes Visual Lisp Console. I eksemplet ovenfor er Console-vinduet allerede åbent, men hvis det ikke er tilfældet hos dig, kan du nemt åbne det via Visual-LISP-menuen View -> LISP Console, eller du kan taste F6.
Her er det meget nemmere at afprøve funktioner. Du kan nemt copy/paste, scrolle op og ned med piltasterne, og du kan bruge tabulator-tasten til at hente tidligere brugte funktioner frem.

I nedenstående eksempel har vi brugt funktionen quote i stedet for list til at generere lister, men resultatet er det samme.

Nu vil vi benytte funktionen setq til at associere tre variabler PATTEDYR, FUGLE og KRYBDYR med tre lister, og vi vil fordele vores kode over flere linjer, så det hele bliver overskueligt.

Når vi skriver kode over flere linjer i Console-vinduet, benytter vi os af såkaldt “bløde linjeskift” = Shift+Enter. Dette forhindrer Visual LISP i at evaluere programkoden, som først evalueres, når du taster et “almindeligt” Enter.
Vi skriver altså nedenstående i Console-vinduet, idet vi laver bløde linjeskift (Shift + Enter) og venter med at taste Enter til sidst.

(setq
PATTEDYR ‘(“Hund” “Kat” “Kanin” “Hest” “Ko”)
FUGLE ‘(“And” “Spurv” “Ørn” “Krage”)
KRYBDYR ‘(“Firben” “Slange” “Salamander”)
)

I Console-vinduet ser det sådan her ud:

Vi ser, at koden automatisk tildeles forskellige farver alt efter karakteren af vores input.
Parenteser er røde, indbyggede funktioner som f.eks. setq er blå og tekstværdier (som vi almindeligvis i kodesprog kalder tekststrenge eller strings) bliver magenta. Det en en måde hvorpå VisualLISP hjælper os med at holde overblik over programmeringskoden. Talværdier bliver i øvrigt grønne.
… indtil vi taster Enter! Så evalueres udtrykket, sidste værdi i setq-funktionen returneres, og hele koden bliver sort.

En lille påmindelse: Pas altid på, at parenteserne passer.
Husk, at enhver startparentes SKAL modsvares af en tilsvarende slutparentes. Ellers virker programkoden ikke.

Når kun den sidste værdi i setq-udtrykket returneres, betyder det dog ikke, at kun KRYBDYR-værdien er gemt. Det kan vi overbevise os om ved helt enkelt at skrive PATTEDYR i Console-vinduet og taste Enter, hvorefter vi får returneret listen (“Hund” “Kat” “Kanin” “Hest” “Ko”). På samme måde vil vi få returneret listen (“And” “Gås” “Spurv” “Ørn” “Krage”), hvis vi skriver FUGLE i Console-vinduet og taster Enter.

I Console-vinduet kan vi også let vende tilbage til tidligere indtastet kode. Hver gang, vi taster TAB, kalder Console-vinduet tidligere kode frem. Prøv det selv.

På dette tidspunkt er du måske ved at blive lidt utålmodig og tænker …
“Nu har vi tre lister med værdier i tre kategorier, men hvad vi bruge det til?”
Okay. Så lad os bruge det, vi har været igennem, til at gøre noget konkret i AutoCAD …

Næste side: Brug det i AutoCAD