sprinkle 发表于 2008-7-11 22:41:21

问一个关于循环的问题

我写了个全自动处理的程序,运行久了循环就积累的越来越多了,运行速度也越来越慢了。

有没有什么办法让程序指定某个地方重新开始执行,不再返回调用函数的地方?

例如

$a = $a + 1
ceshi()

func ceshi()

$a = 0;有什么办法运行到这里让程序不再返回到调用函数的地方?

endfunc

顽固不化 发表于 2008-7-11 23:02:44

用返回值让程序判断该往那里去吧。

[ 本帖最后由 顽固不化 于 2008-7-11 23:05 编辑 ]

sprinkle 发表于 2008-7-11 23:15:25

我本身的全自动程序就是用值判断然后调用自定义函数运行,但是AU3的运行原理是一条一条走,从哪里来的最终都要返回到那里去,这样程序运行的越久积累的循环就越多,运行速度也越慢。

有没有什么办法强行终止循环,让程序重新从某个地方开始执行?

顽固不化 发表于 2008-7-11 23:24:20

设置热键?。。。。

sprinkle 发表于 2008-7-11 23:40:04

设置热键就脱离了全自动执行的基础理念了

kakinkgb 发表于 2008-7-12 15:32:32

开新进程,旧的关掉?

bing614 发表于 2008-7-12 15:49:43

条件判断在EXITLOOP

sprinkle 发表于 2008-8-2 23:50:04

exitloop只能跳出while 或者for next之类的循环吧。

我的意思是那种条件判断的循环

例如一个程序写好了全自动过程,最后通过判断让他不停的循环。这种循环会累计在内存里越来越多直到最后内存报错

.......(这里是主程序)
xh()

func xh
if $a=1 then
$b=1
main()
if $a=2 then
$b=2
main()
if $a=3 then
$b=3
main()
endfunc

axeg23 发表于 2008-10-16 17:33:10

调用 自身? 在main 里面又调用 xh吧?
如果main里没有调用xh而是main运行完再运行xh 应该是没问题的啊

pcbar 发表于 2008-10-16 20:31:47

楼主的逻辑有问题

netegg 发表于 2008-10-17 11:13:48

pcbar好像说对了,问题看不大明白,如果不返回值,不要return就行了
页: [1]
查看完整版本: 问一个关于循环的问题