Таблица П1.3. Преобразование данных из одного типа в другой
Язык |
Из строки в число |
Если строка содержит десятичную точку |
AppleScript |
set myNumber to 2 set myString to (myNumber as string) set myString to "2" set myNumber to (myString as integer) |
myNumber to (myString as real) |
Таблица П1.3 (окончание)
Язык |
Из строки в число |
Если строка содержит десятичную точку |
JavaScript |
шуМишЬег = 2; myString = myNumber + myString = "2"; myNumber=parseInt(myString) myNumber = +myString; |
myNumber=p’arseFloat(myString); |
VBScript |
myNumber = 2 myString = cStr(myNumber) myString = "2" myNumber = clnt{myString) |
myNumber = cDbl(myString) |
П1.4. Присвоение значений
Различные способы присвоения значений представлены в табл. П1.4.
Таблица П1.4. Способы присвоения значений в разных языках
Язык |
Пример |
AppleScript |
Set myNumber to 10 Set myString to 'Hello, World!' |
VBScript |
myNumber =10 myString = 'Hello, World!' |
JavaScript |
var myNumber = 10 var myString = 'Hello, World!' |
П1.5. Сравнение значений
Сравнение значений в языках AppleScript, VBScript и JavaScript выполняются по-разному (табл. Г11.5).
Таблица П1.5. Отличия в сравнении значений в разных языках
Язык |
Знак |
AppleScript |
= |
VBScript |
= |
JavaScript |
== (двойное равенство) |
П1.6. Массивы
Массивы представляют собой список значений, доступ к которым возможен (в наиболее универсальном варианте) через задание индекса элемента (его порядкового номера в массиве). Способы задания массивов представлены в табл. П1.6.
Таблица П1.6. Задание массивов в разных языках
Язык |
Пример |
Индекс первого элемента |
AppleScript |
("ОрО", "ОрО", "16р4", "20рб"} | |
VBScript |
Array("ОрО", "ОрО”, "16р4", "20р6") |
(1 - при установке параметра OptionBase = 1) |
JavaScript |
["ОрО", "ОрО", "1бр4", "20рб"] |
П1.6.1. Вложенные массивы
Вложенные массивы используются для дополнительной группировки наборов значений. Отличия в языковых реализациях достаточно незначительны (табл. П1.7).
Таблица П1.7. Вложенные массивы
Язык |
Пример |
AppleScript |
myArray = Array(Array(0,0), Array(72, 72)) NewDouble (0,0)) |
JavaScript |
var myArray = [[0,0], [72,72]]; |
VBScript |
myArray = New Array(New Double(0,0)) |
П1.7. Определение типа переменной
Часто для определенной работы скрипта необходимо знать тип конкретного объекта. Например, если в InDesign выделен фрейм, присвоение ему кегля вызовет ошибку. В каждом языке существует инструмент для определения типа объекта (табл. П1.8).
Таблица П1.8. Определение типа переменной
Язык |
Пример |
AppleScript |
set myType to class of myMysteryVariable |
JavaScript |
myType = myMysteryVariable.constructor.name; //myType будет строкой, соответствующей типу элемента |
VBScript |
myType = TypeName(myMysteryVariable) |
П1.8. Объединение строк
Объединение строк (конкатенация)- одна из наиболее распространенных операций при работе со строками. При этом синтаксис AppleScript и VBScript полностью идентичен, несколько отличается только JavaScript (табл. П1.9).
Таблица П1.9. Объединение строк в разных языках
Язык |
Знак |
Пример |
Результат |
AppleScript |
& (амперсанд) |
"Pride " & "and Prejudice" |
"Pride and Prejudice" |
JavaScript |
+ |
"Pride " + "and Prejudice" |
"Pride and Prejudice" |
VBScript |
. & |
"Pride " & "and Prejudice" |
"Pride and Prejudice" |
П1.9. Проверка условий
Ни один мало-мальски функциональный скрипт не может обойтись без проверки корректности какого-либо условия с тем, чтобы гарантировать безошибочное выполнение дальнейших операций. Например, в коммерческих скриптах перед любым действием, если только есть малейшее подозрение на возможность возникновения ошибки, сначала проверяются все необходимые для его работы условия, и только потом выполнение программы продолжается. Фактически, именно задание правильных условий в нужных местах- половина успешного написания программы (табл. П1.10).