Visual LISP 第2章 数据类型、表达式和函数(6)习题

AutoCAD 菜单实用程序已加载。
命令: COMMANDLINE
命令: (setq X 5 Y X)
5
命令: !Y
5
命令: (+ (* 2.5 2) (/ 10 3))
8.0
命令: (setq a b b 1)
1
命令: !a
nil
命令: (setq L1(list 'M' 'N'))
; 错误: 输入中含有多余的闭括号
命令: (setq L1(list 'M ' N))
(M N)
命令: (cdr L1)
(N)
命令: (setq L2(cons 'X 'Y))
(X . Y)
命令: (cdr L2)
Y

 1 命令: (setq x 5)
 2 5
 3 命令: (setq y 8 r 10)
 4 10
 5 命令: (command "circle" (list x y) r " ")
 6 circle 指定圆的圆心或 [三点(3P)/两点(2P)/切点、切点、半径(T)]:
 7 指定圆的半径或 [直径(D)]: 10
 8 命令:   未知命令“ ”。按 F1 查看帮助。
 9 命令: nil
10 命令: (command "circle" (list x y) r)
11 circle 指定圆的圆心或 [三点(3P)/两点(2P)/切点、切点、半径(T)]:
12 指定圆的半径或 [直径(D)] <10.0000>: 10
13 命令: nil
14 命令: '_.zoom _e
15 命令: (command "circle" '(x y) r)
16 circle 指定圆的圆心或 [三点(3P)/两点(2P)/切点、切点、半径(T)]:
17 命令: 10
18 命令: nil
19 命令:
20 命令: _.erase 找到 121 命令:
22 命令: _.erase 找到 123 命令: (command "circle" (list x y) "r")
24 circle 指定圆的圆心或 [三点(3P)/两点(2P)/切点、切点、半径(T)]:
25 指定圆的半径或 [直径(D)] <10.0000>: r
26 需要数值半径、圆周上的点或直径(D)。
27 ; 错误: 函数被取消
28 指定圆的半径或 [直径(D)] <10.0000>: *取消*
命令: (defun mianji(d h/s) (setq s(* (/ d 2) h)))
MIANJI
命令: (mianji 4 5)
; 错误: 参数类型错误: numberp: nil
命令: (mianji 4.0 5.0 )
; 错误: 参数类型错误: numberp: nil
命令:
自动保存到 C:UsersAdministratorappdatalocal	empDrawing1_1_1_8467.sv$ ...
命令:
命令: (defun mianji111(d h) (*(/d 2) h))
MIANJI111
命令: (mianji111 4 5)
; 错误: no function definition: /D
命令: (mianji111 4 5)
; 错误: no function definition: /D
命令: (mianji (4 5))
; 错误: 函数错误: 4
命令: (mianji '(4 5))
; 错误: 参数太少
命令: (mianji111 '(4 5))
; 错误: 参数太少

  上述的错误原因是*和/后面需要加空格.

原文地址:https://www.cnblogs.com/xueniwawa/p/3966814.html