Как стать автором
Обновить

Интересное поведение Applescript

Время на прочтение1 мин
Количество просмотров492
Интересные вещи выдает AppleScript. Если, к примеру, мы обращаемся к объекту прочесть его свойство и затем хотим соотнести значение этого свойства с определенным множеством значений, то прийдется написать конструкцию типа
объект (свойство = 1) или (свойство = 0)
вместо достаточно очевидных
объект свойство = (1 or 0)
С данной особенностью я столкнулся при написании скрипта, который сам умеет проставлять значение настройки эквалайзера в зависимости от того, какой жанр у данной песни (песен). Скрипт выглядит так:
-- определение настроек эквалайзера
property EQRock : "Рок"
property EQBlues : "Ритм-энд-блюз"

tell application "iTunes"
set EQ of (tracks whose (genre is "Rock") or (genre is "Alternative")) to EQRock
set EQ of (tracks whose genre is "Blues") to EQBlues
end tell

Если вы напишете
set EQ of (tracks whose genre is ("Rock" or "Alternative")) to EQRock

то AppleScript-машина вас не поймет, хотя написано почти по-русски. И даже если поменять конструкцию с «or» на множество {...}, то снова ничего не получится. Такое вот интересное поведение.
Теги:
Хабы:
Всего голосов 2: ↑1 и ↓10
Комментарии6

Публикации