AppleScript重复循环会立即反映变化吗?

时间:2012-04-03 22:52:34

标签: arrays loops applescript

我正在创建一个脚本来打开目录中的多个文件夹,但它没有按计划运行。我已经尝试概述它并逐步走过这些步骤假装我是计算机执行它但是当我运行它时结果是非常不同的。

它使用重复和重复很多。只要某个数组中有ANYTHING(我的意思是List),重复就会重复,并且重复是第一次重复的INSIDE,它会重复它自己的循环,当时数组中的所有内容。

现在,循环重复的一个动作是更改数组。我认为会改变循环吗?

示例

(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”I'而是通过下一个循环d认为它会改为“1”。

但如果它这样做那么我认为我的手动演练不会那么多。所以我假设在Applescript中当你重复时,无论是否更改List,你都会在第一个List的最后一项(在列表被替换之前)结束循环。这是对的吗? / p>

1 个答案:

答案 0 :(得分: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