
Back to AutoLisp Advanced Tutorial HomePage Back to AutoLisp Tutorial HomePage A U T O L I S P
A D V A N C E D
T U T O R I A L
A U T O L I S P
A D V A N C E D
T U T O R I A L
A U T O L I S P
A D V A N C E D
T U T O R I A L |
|
The AutoLisp Advanced Tutorial Conditional Statements: Coming soon... if - This function evaluates an expression to decide which expressions to do afterwards. Syntax : (if thisIsTrue thenDoThis) Syntax : (if thisIsTrue thenDoThis elseDoThis) Syntax : (if thisIsTrue (progn thenDoAllOfThis) (progn elseDoAllOfThis) ) Syntax : (if thisIsTrue (progn thenDoAllOfThis) elseDoThis) Syntax : (if thisIsTrue thenDoThis (progn elseDoAllOfThis) ) thisIsTrue - Any valid autolisp expression that evaluates to true or non nil. thenDoThis - Any valid autolisp expression. elseDoThis - Any valid autolisp expression. thenDoAllOfThis - Any valid autolisp expressions. elseDoAllOfThis - Any valid autolisp expressions. progn - Simply means there will be more than one statement here.
(if T (princ 3)) returns 3 (if T (princ 3)(princ 4)) returns 3 because T always evaluates to True (if nil (princ 3)(princ 4)) returns 4 because nil always evaluates to False (if (= nil T) (princ 3)(princ 4)) returns 4 because nil does not equal T (if (= 3 3) (princ 3) (princ 4)) returns 3 (if (= 3 4) (princ 3) (princ 4)) returns 4 -------------------------------------------------------------------------------------------------- (if (= 3 3) (progn (princ 3) returns 3 (princ 5) returns 5 ) ) --------------------------------------------------------------------------------------------------- (if (= 3 3) (progn (princ 3) returns 3 (princ 5) returns 5 ) (progn (princ 8) program never gets inside here because 3 = 3 (princ 9) program never gets inside here because 3 = 3 ) ) -------------------------------------------------------------------------------------------------- (if (= 3 4) (progn (princ 3) program never gets inside here because 3 does not equal 4 (princ 5) program never gets inside here because 3 does not equal 4 ) (progn (princ 8) prints 8 (princ 9) prints 9 ) )
cond - This function test conditions until one of them is true. At that point it exits the function. Syntax : (cond (ifThisIsTrue thenDoThis) (elseIfThisIsTrue thenDoThis) (elseIfThisIsTrue thenDoThis) ) Syntax : (cond (ifthisIsTrue (progn thenDoAllOfThis) ) (elseIfThisIsTrue thenDoThis) (elseIfthisIsTrue (progn thenDoAllOfThis) ) (elseIfthisIsTrue thenDoThis)) (elseIfthisIsTrue (progn thenDoAllOfThis) ) (elseIfthisIsTrue thenDoThis)) ) thisIsTrue - Any valid autolisp expression that evaluates to true or non nil. thenDoThis - Any valid autolisp expression. elseDoThis - Any valid autolisp expression. thenDoAllOfThis - Any valid autolisp expressions. elseDoAllOfThis - Any valid autolisp expressions. progn - Simply means there will be more than one statement here.
(cond ( (= 1 1) (princ "True") ) prints TRUE and exits ( (= 1 2) (princ "True") ) doesn't make it to this point ) returns True -------------------------------------------------------------------------------------------------- (cond ( (= 1 0) (princ "True") ) skips because 1 does not equal 0 ( (= 1 1) (princ "True") ) prints TRUE and exits ( (= 1 2) (princ "True") ) doesn't make it to this point ) returns True
-------------------------------------------------------------------------------------------------- (cond ( (= 4 3) (princ "True") ) skips because 4 does not equal 3 ( (= 4 2) (princ "True") ) skips because 4 does not equal 2 ( (= 4 1) (princ "True") ) skips because 4 does not equal 1 ) returns nil -------------------------------------------------------------------------------------------------- (cond ( (= 4 3) (princ "True") ) skips because 4 does not equal 3 ( (= 4 2) (princ "True") ) skips because 4 does not equal 2 ( (= 4 1) (princ "True") ) skips because 4 does not equal 1 ( T (princ "Nothing") ) prints "Nothing" because T = True ) returns "Nothing" -------------------------------------------------------------------------------------------------- (setq a set a variable (cond ( (= 4 3) (princ "True") ) skips because 4 does not equal 3 ( (= 4 2) (princ "True") ) skips because 4 does not equal 2 ( (= 4 1) (princ "True") ) skips because 4 does not equal 1 ( T (princ "Nothing") ) prints "Nothing" because T = True ) returns "Nothing" ) sets variable [a] to "Nothing" End of Conditional Statements All questions/complaints/suggestions should be sent to JefferyPSanders.com Last Updated September 28th, 2008 Copyright 2002-2008 JefferyPSanders.com. All rights reserved. |