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 重复循环会立即反映变化吗?的主要内容,如果未能解决你的问题,请参考以下文章

[Vue] vue的一些面试题4

状态更新没有立即反映。如何使用 useEffect 的依赖数组来显示更改?

循环 256*256*256 颜色,这样颜色会逐渐变化,并且类似的阴影不会在以后的循环迭代中重复?

监控 Applescript 中的 Spotify 曲目变化?

预加载背景图片

未立即收到内部测试版本