1

我有一个工作的 AppleScript,它的重复看起来像这样:

repeat with i from 1 to count windows of proc
    ....
end repeat

现在我想把它改成min(2,count windows of proc)

我将如何使用纯 AppleScript 编写此代码?(涉及 Bash 等的解决方案是不可接受的,问题实际上是关于如何从 AppleScript 执行此操作)

4

1 回答 1

4

没有内置的方法可以做到这一点。您必须自己编写函数:

on min(x, y)
    if x ≤ y then
        return x
    else
        return y
    end if
end min

...

repeat with i from 1 to min(2, count windows of proc)
    ...
end repeat

请注意,如果您想min在 atell ...using terms from ...块内使用,则必须调用它,my min(2, count windows of proc)以便 AppleScript 知道min在脚本中查找,而不是在应用程序的条款或您拥有的东西中查找。

另外,请注意:您使用的语言称为 AppleScript,而不是 OsaScript。调用它的命令行工具是osascript因为它可以与更通用的Open Scripting Architecture一起使用。其他语言(如 JavaScript)可以是 OSA 组件,但实际上,几乎每个人都使用 AppleScript。

于 2011-01-31T06:09:39.157 回答