progman ad - DAIMI Wiki Server
progman ad - DAIMI Wiki Server
progman ad - DAIMI Wiki Server
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
24/2006<br />
Best Marketing Concept of the Year<br />
(Equal) Udtryk1<br />
Udtryk2 [Afvigelse])<br />
Denne funktion tester om Udtryk1 og<br />
Udtryk2 returnerer de samme værdier.<br />
Hvis:<br />
(SetQ Var1 '(a b c d)<br />
Var2 '(a b c d)<br />
Var4 '(a b c)<br />
Var3 Var2<br />
)<br />
Så er:<br />
(Equal Var1 Var2)= T<br />
(Equal Var3 Var2)= T<br />
(Equal Var1 Var4) = nil<br />
I forbindelse med test af to decimaltal<br />
(eller lister af decimaltal, som<br />
i koordinater), kan der forekomme<br />
afvigelser på en yderligere decimal.<br />
Afvigelse sætter en toleranceværdi<br />
for, hvor stor denne afvigelse må være<br />
i forbindelse med testen.<br />
Hvis:<br />
(SetQ 1ste 1.2345678<br />
2den 1.2345679<br />
)<br />
Så er:<br />
(Equal 1ste 2den) = nil<br />
(Equal 1ste 2den 0.0000001) = T<br />
Bemærk: Se også '=' og 'Eq'.<br />
(Eval Udtryk)<br />
Denne funktion returnerer resultatet<br />
af en EVALuering af et LISP-udtryk.<br />
Hvis:<br />
(SetQ EnToTre 123<br />
Samme EnToTre<br />
)<br />
Så er:<br />
(Eval 123) = 123<br />
(Eva1 EnToTre) = 123<br />
(Eva1 Samme) = 123<br />
(IF Test Så [Ellers])<br />
Denne funktion tester om Test er T<br />
(sandt). Hvis Test er T, udføres Så.<br />
Alternativt udføres Ellers, hvis det er<br />
angivet.<br />
(IF (= 1 2) "Ja" "Nej!") = ”Nej!”<br />
(IF (/= 1 2) "Ja" "Nej!") = ”Ja”<br />
(IF (= 1 2) "Ja") = nil<br />
(InitGet [Bits] [Streng])<br />
Denne funktion tester brugerens svar<br />
i forbindelse med Getxxx funktioner.<br />
De forskellige Bits-argumenter er vist<br />
nedenfor:<br />
Bit-værdi<br />
Betydning<br />
1 Nægt tom data<br />
2 Nægt værdien 0 (nul)<br />
4 Nægt negative værdier<br />
8 Test ikke for limits<br />
32 Brug stiplede linier med<br />
gummibånd og boks<br />
64 Ignorer Z ved 3D-punkter<br />
(Kun GetDist)<br />
De forskellige bit-værdier kan <strong>ad</strong>deres<br />
frit til en værdi mellem 0 og 127.<br />
Hvis vi har følgende LISP-program:<br />
(DeFun C:TEST ()<br />
(InitGet (+ 1 2 4))<br />
(GetReal ”\nAngiv et positivt tal: ”)<br />
)<br />
Fås følgende svar:<br />
Command: (Lo<strong>ad</strong> "test") C:TEST<br />
Command: TEST<br />
Angiv et positivt tal: [Retur]<br />
Requires numeric value.<br />
Angiv et positivt tal: -1<br />
Value must be positive and nonzero.<br />
Angiv et positivt tal: 0<br />
Value must be positive and nonzero.<br />
Angivet positivt tal: 3<br />
3.0<br />
Det er ligeledes muligt at teste for<br />
en bestemt streng i forbindelse med<br />
InitGet, som i dette eksempel:<br />
(InitGet l "Skrå VAndret VErtikal")<br />
(SetQ Svar<br />
(GetKWord "\nSkrå/VAndret/VErtikal 1:"))<br />
Bemærk: Den bit som sættes af Init-<br />
Get slettes automatisk efter næste<br />
Getxxx.<br />
(ListP Udtryk)<br />
Denne funktion returnerer T, hvis<br />
Udtryk er en liste. Ellers returneres<br />
nil. ListP er således et modstykke til<br />
Atom.<br />
(ListP '(a b c))= T<br />
(ListP 'a) = nil<br />
(ListP 1.1) = nil<br />
(ListP nil) = T<br />
(nil er både et atom og en liste)<br />
Sådan virker InitGet kontrolbits<br />
Funktion 1 2 4 8 32 64<br />
GetInt X X X<br />
GetReal X X X<br />
GetDist X X<br />
GetAngle X X X<br />
GetOrient X X X<br />
GetPoint X X X<br />
GetCorner X X X<br />
GetKWord X<br />
GetString<br />
GetVar<br />
26