0

使用 AppleScript 时,我发现当你构建一个repeat以递增一个块时,如果你取消它,你必须关闭脚本才能重新开始:

property foobar : 0

tell application "BBEdit"
    activate
    select insertion point before first character of text document 1
    repeat
        ## some magic       
    end repeat
end tell

有没有办法取消你可以property在脚本中将 back 重置为 0 以便它可以再次重新运行?此外,当重复循环运行并完成时,您仍然必须关闭脚本才能重新运行它,即使在foobar使用set foobar to 0. 研究没有显示任何关于 Apple.se、SO、超级用户或 Apple 讨论的内容。如何在不关闭脚本的情况下重置脚本?

4

2 回答 2

0

您可以这样做,系统会提示您重新启动或取消脚本。

property foobar : 0

tell application "BBEdit"
    activate
    repeat
        set foobar to 0
        select insertion point before first character of text document 1
        repeat
            ## some magic       
        end repeat
        display dialog "Restart Script" buttons {"Cancel", "Restart"} default button 2
    end repeat
end tell
于 2016-01-08T16:37:31.220 回答
-1

我对property foobar : 0脚本稍后需要该属性的内容感到困惑。如果你只是不让它成为一个属性,它会在你每次运行脚本时重置,所以你没有问题......但我觉得我必须遗漏一些东西。

我的意思是,在运行之间需要保留什么才能使 foobar 成为 Applescript 属性,而不仅仅是将其定义为变量?

    set foobar to 0

让我知道我在这里缺少什么...

于 2016-01-09T04:11:51.643 回答