AppleScript лексические соглашения
Эта глава обеспечивает обзор словаря и соглашений Языка AppleScript. Это запускается с набора символов и представляет все более усложняющиеся элементы.
После чтения этой главы у Вас должно быть понимание компонентов языка Бэйсик, используемых для построения выражений AppleScript и операторов.
AppleScript Лексические Соглашения содержит следующие разделы:
Набор символов
Запускаясь в OS X v10.5 (AppleScript 2.0), набор символов для AppleScript является Unicode. AppleScript сохраняет все символы правильно во всем мире и комментирует, и текстовые константы в сценариях могут содержать любые символы Unicode.
Синтаксис AppleScript использует несколько символов неASCII, которые могут быть введены с помощью специальных сочетаний клавиш. Для получения информации о символах, которые AppleScript обрабатывает особенно, посмотрите Идентификаторы разделов, Комментарии, текст, Символ Продолжения, и Необработанные Коды в этой главе, а также Таблицу 9-1 в Ссылке Операторов.
Идентификаторы
Идентификатор AppleScript является серией символов, идентифицирующей имя класса, переменную или другой элемент языка, такой как метки для свойств и обработчиков.
Идентификатор должен начаться с буквы и может содержать любой из этих символов:
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ |
Идентификаторы не чувствительны к регистру. Например, идентификаторы myvariable
и MyVariable
эквивалентны.
AppleScript помнит и осуществляет первую капитализацию, с которой он сталкивается для идентификатора. Таким образом, если это сначала встречается с идентификатором как myAccount
, это будет позже, во время компиляции, версии изменения такой как MyAccount
и myaccount
к myAccount
.
Следующее является примерами допустимых идентификаторов: areaOfCircle
, Agent007
, axis_of_rotation
.
Следующее не является допустимыми идентификаторами: C-
, back&forth
, 999
, Why^Not
.
AppleScript обеспечивает лазейку для предыдущих правил: идентификаторы, первые и последние символы которых являются вертикальными панелями (|), могут содержать любые символы. Продвижение и запаздывающие вертикальные панели не считают частью идентификатора.
Следующее является юридическими идентификаторами: |back&forth|
, |Right*Now!|
.
Идентификатор может содержать дополнительные вертикальные панели, которым предшествует наклонная черта влево (\) символ, как в идентификаторе |This\|Or\|That|
. Использование символа наклонной черты влево описано далее в разделе Special String Characters text
класс.
Ключевые слова
Ключевое слово является зарезервированным словом на языке AppleScript. Ключевые слова состоят из нижнего регистра, буквенных символов: abcdefghijklmnopqrstuvwxyz
. В нескольких случаях, такой как aside from
, они прибывают в пар.
Таблица 1-1 перечисляет ключевые слова, зарезервированные в AppleScript 2.0 (которые совпадают с используемыми в AppleScript 1.x). Для получения дополнительной информации посмотрите Таблицу a-1, предоставляющую краткое описание для каждого ключевого слова и указывающую на соответствующую информацию, где это возможно.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Комментарии
Комментарий является текстом, проигнорированным AppleScript, когда выполняется сценарий. Можно использовать комментарии для описания то, что происходит в сценарии, или сделайте другие виды примечаний. Существует три вида комментариев:
Блочный комментарий начинается с символов
(*
и концы с символами*)
. Блочные комментарии должны быть помещены между другими операторами. Это означает, что они могут быть размещены в ту же строку вначале или конец оператора, но не могут быть встроены в простом (коротком) операторе.Комментарий конца строки начинается с символов
--
(два дефиса) и концы с концом строки:--end-of-line comments extend to the end of the line
Запускаясь в версии 2.0, AppleScript также поддерживает использование # символа как комментарий конца строки. Это позволяет, Вы для превращения простого сценария Апплескрипт в исполнимую программу Unix путем начала его со следующей строки и предоставления его выполняете разрешение:
#!/usr/bin/osascript
Скомпилированные сценарии то использование
#
будет обычно работать в пред2.0 системах, и, если отредактировано выведет на экран использование--
. Исполнимое текстовое использование сценариев#!/usr/bin/osascript
не будет работать на пред2.0 системах, начиная с#
будет считаться синтаксической ошибкой.
Можно вложить комментарии — т.е. комментарии могут содержать другие комментарии, как в этом примере:
(* Here are some |
--nested comments |
(* another comment within a comment *) |
*) |
Символ продолжения
Простой оператор AppleScript должен обычно вводиться в одну строку. Можно расширить оператор до следующей строки путем окончания его символом продолжения, ¬. С клавиатурой США можно ввести этот символ путем ввода Опции-l (нижний регистр L). В Редакторе сценариев можно ввести Возврат опции, вставляющий символ продолжения и перемещающий точку вставки в следующую строку.
Вот отдельный оператор, выведенный на экран на двух строках:
display dialog "This is just a test." buttons {"Great", "OK"} ¬ |
default button "OK" giving up after 3 |
Символ продолжения в заключенной в кавычки текстовой строке обрабатывается как любой другой символ.
Литералы и константы
Литерал является значением, оценивающим к себе — т.е. он интерпретируется, как он записан. В AppleScript, например, "Hello"
текстовый литерал. Константа является словом с предопределенным значением. Например, AppleScript определяет много перечислимых констант для использования с path to (folder)
команда, каждый из которых указывает расположение, для которого можно получить путь.
Булевская переменная
AppleScript определяет булевы значения true
и false
и предоставления boolean
класс.
Постоянный
Глобальные Константы в AppleScript описывают константы, которые могут использоваться всюду по Вашим сценариям. Для соответствующей информации посмотрите constant
класс.
Список
Список определяет упорядоченный набор значений, известных как элементы, любого класса. Как изображено в сценарии, список состоит из серии выражений, содержавших в фигурных скобках и разделенных запятыми, такими как следующее:
{1, 7, "Beethoven", 4.5} |
Список может содержать другие списки. Пустой список (содержащий элементы) представлен парой пустых фигурных скобок: {}
.
AppleScript обеспечивает list
класс для работы со списками.
Число
Числовой литерал является последовательностью цифр, возможно включая другие символы, такие как унарный знак «минус», период (в реалах), или "E+"
(в экспоненциальном представлении). Следующее является некоторыми числовыми литералами:
-94596 |
3.1415 |
9.9999999999E+10 |
AppleScript определяет классы для работы с real
и integer
значения, а также number
класс, служащий синонимом для также real
или integer
.
Запись
Запись является неупорядоченным набором маркированных свойств. Запись появляется в сценарии как ряд определений свойства, содержавших в фигурных скобках и разделенных запятыми. Каждое определение свойства состоит из уникальной метки, двоеточия и значения для свойства. Например, следующее является записью с двумя свойствами:
{product:"pen", price:2.34} |
Текст
A text
литерал состоит из серии символов Unicode, включенных в пару меток двойной кавычки, как в следующем примере:
"A basic string." |
AppleScript text
объекты являются экземплярами text
класс, обеспечивающий механизмы для работы с текстом. Раздел Special String Characters того класса описывает, как использовать пробел, символы наклонной черты влево и двойные кавычки в тексте.
Операторы
Оператор является символом, словом или фразой, получающей значение на другое значение или пару значений. Например, оператор умножения (*
) умножает два числовых операнда, в то время как оператор связи (&
) соединения два объекта (такие как текстовые строки). is equal
оператор выполняет тест на двух булевых значениях.
Для получения дальнейшей информации на операторах AppleScript, посмотрите Ссылку Операторов.
Переменные
Переменная является именованным контейнером, в котором можно сохранить значение. Его имя, которое Вы указываете при создании переменной соблюдает правила, описанные в Идентификаторах. Можно объявить и инициализировать переменную одновременно с a copy
или set
команда. Например:
set myName to "John" |
copy 33 to myAge |
Операторы, присваивающие значения переменным, известны как операторы присваивания.
Когда AppleScript встречается с переменной, он оценивает переменную путем получения ее значения. Переменная содержится в сценарии, и его значение обычно теряется при закрытии сценария, содержащего ее.
Переменные AppleScript могут содержать значения любого класса. Например, можно присвоить целочисленное значение 17
к переменной тогда позже присвойте булево значение true
к той же переменной.
Для получения дополнительной информации посмотрите Переменные и Свойства.
Выражения
Выражение является любой серией лексических элементов, имеющей значение. Выражения используются в сценариях, чтобы представлять или получить значения. Самые простые виды выражений, названных литералами, являются представлениями значений в сценариях. Более сложные выражения обычно комбинируют литералы, переменные, операторов и объектные спецификаторы.
При выполнении сценария AppleScript преобразовывает свои выражения в значения. Этот процесс известен как оценка. Например, когда следующее простое выражение оценено, результат равняется 21:
3 * 7 --result: 21 |
Объектный спецификатор указывает некоторых, или вся информация должна была найти другой объект. Например, следующий объектный спецификатор указывает именованный документ:
document named "FavoritesList" |
Для получения дополнительной информации посмотрите Объектные Спецификаторы.
Операторы
Оператор является серией лексических элементов, следующей за определенным синтаксисом AppleScript. Операторы могут включать ключевые слова, переменные, операторов, константы, выражения, и т.д.
Каждый сценарий состоит из операторов. Когда AppleScript выполняет сценарий, он читает операторы в порядке и выполняет их инструкции.
Оператор управления является оператором, определяющим, когда и как выполняются другие операторы. AppleScript определяет стандарт, проверяют утверждения такой как if
, repeat
, и while
операторы, описанные подробно в Ссылке Операторов Управления.
Простой оператор является тем, который может быть записан на одной строке:
set averageTemp to 63 as degrees Fahrenheit |
Составной оператор записан больше чем на одной строке, может содержать другие операторы и имеет слово end
(сопровождаемый, дополнительно, первым словом оператора) в его последней строке. Например, следующее является составным объектом tell
оператор:
tell application "Finder" |
set savedName to name of front window |
close window savedName |
end tell |
Составной оператор может содержать другие составные операторы.
Команды
Команда является словом или серией слов, используемых в операторе AppleScript для запроса действия. Каждая команда направлена на цель, которая является объектом, реагирующим на команду. Цель обычно является объектом приложения или объектом в OS X, но это может также быть a script
возразите или значение в текущем сценарии.
Следующее утверждение использует AppleScript get
команда для получения имени окна; цель является передним окном приложения Средства поиска:
get name of front window of application "Finder" |
Для получения дополнительной информации о типах команды параметры и цели, видят Обзор Команд.
Результаты
Когда оператор выполняется если таковые имеются, результатом оператора является сгенерированное значение. Например, выполнение оператора 3 + 4
результаты в значении 7
. Результат оператора set myText to "keyboard"
текстовый объект "keyboard"
. Результат может иметь любой класс. AppleScript хранит результат в глобально доступном свойстве result
, описанный в Постоянном AppleScript.
Необработанные коды
Когда Вы открываетесь, скомпилируйте, отредактируйте или выполните сценарии с редактором сценариев, можно иногда видеть условия, включенные в двойные угловые скобки или двойные угловые скобки («»), в окне сценария или в другом окне. Эти условия вызывают необработанным форматом или необработанными кодами, потому что они представляют базовые коды события Apple что использование AppleScript для представления условий сценариев.
Для совместимости с азиатскими национальными кодировками «» и «» позволяются как синонимы для “«” и, “»” ((Опция - \и Сдвиг опции - \, соответственно, на клавиатуре США), так как последние не существуют в некоторых азиатских кодировках.
Для получения дополнительной информации о необработанных кодах посмотрите Двойные Угловые скобки.