明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2120|回复: 6

请问在visual lisp中如何设置才能得到一个循环(共循环10次)中第5次循环后的变量返

[复制链接]
发表于 2003-4-10 12:30:00 | 显示全部楼层 |阅读模式
请问在visual lisp中如何设置才能得到一个循环(共循环10次)中第5次循环后的变量返回值??[br]
发表于 2003-4-10 12:38:00 | 显示全部楼层

你以為變數幹嗎用的??

发表于 2003-4-10 14:50:00 | 显示全部楼层

在第五次时将它存为一个临时变量,最后提取临时变量的值即可

发表于 2003-4-12 14:20:00 | 显示全部楼层

利用数组

(setq i 1)
(repeat 10
(set (read (strcat "var[" (rtos i) "]")) i)
(setq i (+ 1 i))
)
(princ (eval (read "var[5]")))
发表于 2013-11-8 16:52:08 | 显示全部楼层
duoziefenxiang
发表于 2013-11-9 03:35:12 | 显示全部楼层
我个人处理类似楼主所说问题的时候,一般用到下边两种办法,不知道高手们是怎么做的,也想学习下
1. 关心特定次数时的变量
  (setq i 0 values nil)
   (repeat 10;;假定循环10次
     (setq i(1+ i))
       ......;;具体处理什么东东只能看情况而定吧
     (if (= i 5)(progn  (setq values (list ;;;把需要关心变量都放里边))));;5是关心的次数
  );;repeat end
   values;;;它是一个表,需要哪个变量都可以通过(nth i values)来访问它
2. 不能确定需要的变量值会在第几次出现,但总该清楚我们需要关心的东东会在什么条件下出现吧
   (setq values nil)
   (while ;;循环条件根据具体情况
     ....循环过程
     (if  ();;;里边写好判断条件
        (progn    ;;这里一般破坏while条件让循环提前结束,这样需要的变量自然都在。但可能不能因为要关心某个变量能结束循环,那就用前边的办法,把需要关心的变量又放到values表里边去吧,等循环结束后可以按需要访问
               )
         ); if end
   );while end
发表于 2013-11-20 16:31:36 | 显示全部楼层
xuexixuexie
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-26 03:15 , Processed in 0.174250 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表