- 积分
- 12349
- 明经币
- 个
- 注册时间
- 2002-10-21
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2004-10-21 23:59:00
|
显示全部楼层
heart1982发表于2004-10-21 22:10:00这个程序能正常运行,我在编程时经常调用这个子程序,没有出现异常。就是在编译成vlx文件时出现警告。
再者set改为setq照样出现此毛病,而且程序不能正常运行...
试试这样: ;-------------------------------------------------------------------------------- ; ◇连续水平对称函数◇ ;-------------------------------------------------------------------------------- ;p-点变量的符号字符串,i-点变量的下标,n-点变量的数目,a0-对称轴上的一点 (defun lhd (p i n a0 / xx yy) (repeat n (set xx (read (strcat p "h" (itoa i))));将phi赋给xx (set yy (read (strcat p (itoa i))));将pi赋给yy ;将pi的镜像点的值赋给xx的值-phi (set zz (list (car (eval yy)) (- (* (cadr a0) 2) (cadr (eval yy)))));;这里可以用setq。(怎么没有用上xx,却又对xx第二次赋值?前一次没有用啦?!) (setq i (1+ i)) ) )
因为:(setq xx (read (strcat p "h" (itoa i))) yy 。。。);将phi赋给xx将pi赋给yy
其实都没有赋值,当i=1,你只不过是把 ‘ph1 付给xx ,'p1 付给yy,两个都是符号,sym,且不传递ph1,p1本身的值!!!
|
|