applescript 重复循环会立即反映变化吗?
Posted
技术标签:
【中文标题】applescript 重复循环会立即反映变化吗?【英文标题】:Do applescript repeat loops reflect changes instantly? 【发布时间】:2012-04-03 22:52:33 【问题描述】:我正在编写一个脚本来打开一个目录中的多个文件夹,但它没有按计划工作。我已经尝试过概述它并一步一步地走一遍,假装我是执行它的计算机,但是当我运行它时,结果却大不相同。
它使用重复和重复很多。只要某个数组(我的意思是列表)中有任何内容,重复就会重复,并且重复在第一个重复的内部,它会重复它自己的循环,当时数组中的所有内容。
现在,repeat with 循环的动作之一是改变数组。我认为这不会改变循环吗?
例子
(foldList 是 A,B,C)
repeat until
repeat with folder_name in foldList
do something
set foldList to 1, 2, 3
end repeat
end repeat
我认为这样做是将第一个循环作为“A”进行迭代,但在结束之前它会将 foldList 更改为 1、2、3。因此,我不会将下一个循环作为“B”进行迭代。我认为它会改为“1”。
但如果它这样做了,那么我认为我的手动演练不会有太多偏差。因此,我假设在 Applescript 中,当您重复使用时,无论更改列表,您都会在第一个列表的最后一项上结束循环(在替换列表之前)。这是对的吗?
【问题讨论】:
【参考方案1】:这将帮助您找到每个循环的价值。
set foldList to "A", "B", "C"
repeat 3 times
repeat with folder_name in foldList
display dialog folder_name
set foldList to 1, 2, 3
end repeat
end repeat
版本 2:
set foldList to "A", "B", "C"
repeat 3 times
repeat with i from 1 to count of foldList
display dialog item i of foldList
set foldList to 1, 2, 3
end repeat
end repeat
【讨论】:
是的,不管发生什么变化,它看起来都会继续循环......你知道为什么,或者如何解决它吗?谢谢。哦,愚蠢的问题,但只是为了澄清一下,我正在尝试做的事情称为递归循环吗?以上是关于applescript 重复循环会立即反映变化吗?的主要内容,如果未能解决你的问题,请参考以下文章
状态更新没有立即反映。如何使用 useEffect 的依赖数组来显示更改?
循环 256*256*256 颜色,这样颜色会逐渐变化,并且类似的阴影不会在以后的循环迭代中重复?