- 积分
- 34512
- 明经币
- 个
- 注册时间
- 2002-11-20
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2004-4-14 22:20:00
|
显示全部楼层
一个程序里如果不用参数,就会使程序的变量很混乱,就更难看懂...
比如:
(defun c:test()
(setq a 1 b 2)
(setq c (sum a b))
(setq d (1+ c))
)
(defun sum (a b) (+ a b))
这样,如果一看就知道这是一个计算A B和的值,我们仅仅需要知道函数sum的功能(假设这里是a+b),而不需要去看sum函数,就完全可以把这个主函数读懂了,至于sum函数的局部功能,我们任何时候都可以去看,完全不影响对这个程序的理解,
而如果不使用参数:
(defun c:test()
(setq a 1 b 2)
(sum)
(setq d (1+ c))
)
(defun sum () (+ a b))
这样,我们在读这个函数的时候,我们会发现主程序中的这个C不知道哪儿来的,这样就必须去读sum子函数...
另外,你对函数的左右基本上完全不明白,你这样用函数只是把其中一段复杂点的代码单独写在一个地方,一保持主函数的简洁...
如sum函数定义分别同前面两个)
(defun c:test()
(setq a 1 b 2 d 3 e 4)
(setq c (sum a b))
(setq f (sum d e))
)
而如果你不用参数,后面计算d+e的时候,你无法使用原来的sum函数,而必须重新再写一个...所以说你对函数的使用意义几乎是完全不知... |
|