Эквивалент min (x, y) в AppleScript - PullRequest
1 голос
/ 31 января 2011

У меня есть рабочий AppleScript, у которого повтор выглядит так:

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

Теперь я хочу изменить это значение на мин (2, количество окон proc)

Как бы я написал это, используя чисто AppleScript? (решение с использованием Bash и т. д. неприемлемо, вопрос в том, как это сделать с помощью AppleScript)

1 Ответ

4 голосов
/ 31 января 2011

Нет встроенного способа сделать это. Вы должны написать функцию самостоятельно:

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 внутри блока tell ... или using terms from ..., вам нужно будет назвать его как my min(2, count windows of proc), чтобы AppleScript знал, что искать в сценарии min не в терминах из приложения или что-у-ты.

Кроме того, небольшое замечание: язык, с которым вы работаете, называется AppleScript, а не OsaScript. Инструмент командной строки для работы с ним называется osascript, поскольку он работает с более общей Open Scripting Architecture . Другие языки (например, JavaScript) могут быть компонентами OSA, но на самом деле, практически все используют AppleScript.

...