『文字列(テキスト)』−−いわゆる、一般的な文字列です。
『数値(数)』−−数字の一般的な型です。実数と考えてください。
『リスト』−−複数の値を1つにまとめた値です。
『レコード』−−各値にラベル(名称)がついたリストです。
『データ』−−アプリケーション独自に定義した値です。
このうち、文字列と数値はわかるでしょう。わかりにくいのは「リスト」「レコード」ですね。これがAppleScriptを理解する上での第1のポイントとなります。
リストは、複数の値をカンマで区切り、その両側を{}で括った形をしています。例えば、
{"あいうえお", 123, ABC}
こんな形です。各項目は、どんな型のものでも構いません。例えば、上の例では、"あいうえお" というテキスト、123という数字、ABCという変数が収めてありますね(変数については後述)。
リストの中から特定のものを取り出す場合は、「iem」を使います。例えば、
item 1 of {"あいうえお", 123, ABC}
とすれば、"あいうえお" という文字列が得られます。リストの中の各項目は、それぞれの「型」の性質を保持しています。ですから、取り出したときには、文字列の項目は文字列として、数値の項目は数値として扱えるわけです。
レコードは、この各項目にラベルがついたものです。例えば、
{AIUEO:"あいうえお", SUJI:123, HENSU:ABC}
こんな感じで、各項目の頭に「○○:」という形でラベルをつけます。値を呼び出す時は、項目を使わず、ラベルを使って、
SUJI of {AIUEO:"あいうえお", SUJI:123, HENSU:ABC}
という具合に呼び出します。これで123という数字が得られるわけです。
数値:+ - * / ^ ( ) div mod
文字列:&
論理演算:= /=(≠) <=(≦) >=(≧) not(否定)
数値の演算で特徴的なのは「div」と「mod」です。「div」は、割り算の整数部分だけを返す記号です。例えば「10 div 3」とすれば「3」が得られます。「mod」はあまりを返す記号で、「10 mod 3」なら「1」となります。
論理演算子は、各種の条件式などに用いるものです。「/=」「<=」「>=」は、入力すると、そのまま「≠」「≦」「≧」に変換されます。
&は、文字列だけでなくリストやレコードの結合などにも使います。
{1, 2} & {3, 4} → {1, 2, 3, 4}
という具合です。
それぞれの演算で重要なのは、「型が異なると演算できない場合がある」ということです。例えば、
"1" + 2
このような演算は行なえません。なぜなら、"1" は文字列であり、数字としては扱われないからです。
このような場合に使われるのが、「型の変換」です。変換は「as 〜」を使います。
《値》as string → 値が文字列として扱われる
《値》as number → 値が数値として扱われる
このように、値の前につけることで、型を変換することができます。
set《変数名》to《代入する値》
このように使います。例えば、スクリプト編集プログラムで、
set X to 123
set Y to 456
X + Y
この3行のスクリプトを実行してみて下さい。「結果」ウィンドウに「579」という答えが表示されるはずです。
このように、setを使って何かの値を代入すると、自動的に変数が作成され、そこに値が収められます。変数の名前は、AppleScriptで使用している命令などでなければ特にどんなものでもかまいません。ただし、アルファベットで始まる1続きの単語である必要があります。