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, предоставляющую краткое описание для каждого ключевого слова и указывающую на соответствующую информацию, где это возможно.

Таблица 1-1  зарезервированные слова AppleScript, перечисленные в алфавитном порядке

about

above

after

against

and

apart from

around

as

aside from

at

back

before

beginning

behind

below

beneath

beside

between

but

by

considering

contain

contains

contains

continue

copy

div

does

eighth

else

end

equal

equals

error

every

exit

false

fifth

first

for

fourth

from

front

get

given

global

if

ignoring

in

instead of

into

is

it

its

last

local

me

middle

mod

my

ninth

not

of

on

onto

or

out of

over

prop

property

put

ref

reference

repeat

return

returning

script

second

set

seventh

since

sixth

some

tell

tenth

that

the

then

third

through

thru

timeout

times

to

transaction

true

try

until

where

while

whose

with

without

Комментарии

Комментарий является текстом, проигнорированным AppleScript, когда выполняется сценарий. Можно использовать комментарии для описания то, что происходит в сценарии, или сделайте другие виды примечаний. Существует три вида комментариев:

Можно вложить комментарии — т.е. комментарии могут содержать другие комментарии, как в этом примере:

(*  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 для представления условий сценариев.

Для совместимости с азиатскими национальными кодировками «» и «» позволяются как синонимы для “«” и, “»” ((Опция - \и Сдвиг опции - \, соответственно, на клавиатуре США), так как последние не существуют в некоторых азиатских кодировках.

Для получения дополнительной информации о необработанных кодах посмотрите Двойные Угловые скобки.