可以这样定义函数: (DEFUN TEST (STRL) (IF (AND (LISTP STRL) (/= (LENGTH STRL) 3)) (PROGN (PRINC "\nUseag : (TEST (LIST N1 R2 S3))") ) (IF (AND (TYPE (CAR STRL)) 'INT) (TYPE (CADR STRL)) 'REAL) (TYPE (LAST STRL) 'STR)) (PROGN (PRINC (CAR STRL)) (PRINC "\n") (PRINC (CADR STRL)) (PRINC "\n") (PRINC (LAST STRL)) ) (PRINC "\nUseag : (TEST (LIST N1 R2 S3))") ) ) ) 但当未给出参数时还是会出错。 |