
AppleScript の基本文法
この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
AppleScript の基本文法
今回は AppleScript の基本的な文法を紹介します。
AppleScript に関しては、以前私が書いたこちらの記事をご覧ください。
変数への代入
変数への代入は set コマンドを使用します。
set <変数名> to <値>
例
- set myName to "Yoda"
- set newHope to 4
- set iAmYourFather to true
List
List は順序付けられた値のコレクションです。
Objective-C の NSArray, Java の List に相当します。
AppleScript では、同一の List に格納される値の型は異なっていても問題ありません。
例
{1, 7, "Beethoven", 4.5}
値の取得には item を使用します。
以下の式の値は 7 となります。
item 2 of {1, 7, "Beethoven", 4.5}
of はオブジェクトの属性を取得するための予約語です。
以下の式で、オブジェクトの属性を取得します。
<属性> of <オブジェクト>
上の例では List {1, 7, "Beethoven", 4.5} の item 2 を取得しています。
また、AppleScript のインデックスは 1 が最初のようです。
0 ではありません。
Record
Record はラベル付けされたプロパティの、順不同のコレクションです。
Objective-C の NSDictionary, Java の Map に相当します。
例
{product:"pen", price:2.34}
値の取得には of を使用します。
以下の式の値は 2.34 となります。
price of {product:"pen", price:2.34}
if 文
if 文の書き方は以下のとおりです。
if <条件式> then
    <命令>
else if <条件式> then
    <命令>
else 
    <命令>
end if
例
set episode to 1
if episode = 1 then
    display dialog "The Phantom Menace"
else if episode = 2 then
    display dialog "Attack of the Clones"
else
    display dialog "Revenge of the Sith"
end if
display dialog はダイアログを表示するコマンドです。
デバッグにとても有効です。
覚えておきましょう。
display dialog <表示する値>
repeat 文
ループを実行する構文です。
repeat 文には色々な書き方が存在します。
1. 無限ループ
repeat
    <命令>
end repeat
ループを抜けるためには、exit repeat を実行します。
2. 回数指定
repeat <回数> times
    <命令>
end repeat
回数 は整数値です。
3. 条件に当てはまるまで
repeat until <条件式>
    <命令>
end repeat
4. 条件に当てはまるあいだ
repeat while <条件式>
    <命令>
end repeat
5. 開始と終了の指定
repeat with <ループ変数> from <開始値> to <終了値>
    <命令>
end repeat
6. List のループ
repeat with <ループ変数> in <List>
    <命令>
end repeat
予約語
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 の重要な文法を紹介しました。
ある程度書けるようになったら、次はどんどん手を動かして便利なスクリプトを作ってみましょう。
リンク
ミレニアム・ファルコン製作日記 #11
11 号 表紙

パーツ



成果

今回の作業は以下の 2 つでした。
- パイプを取り付ける
- 船倉壁(R)と主船倉床を仮組みする
主船倉のドアにパイプを取り付けました。
ミレニアム・ファルコンの内部はパイプとダクトが入り乱れています。
一度でいいからセットを生で見てみたいですね。
仮組みでは壁と床がしっかりハマることを確認しました。
順調に出来てきています。
嬉しいお知らせ
5 月 4 日はスター・ウォーズの日です!(May the 4th だから)
今年もこの日に色々やってくれます。
- スター・ウォーズ フォースの覚醒 Blu-ray & DVD 発売
- スター・ウォーズ 反乱者たち シーズン 2 一挙放送(Disney XD)
- スター・ウォーズ/クローン・ウォーズ ザ・ロスト・ミッション 一挙放送(Dlife)
楽しみに待ちましょう。
それではまた次回。
May the Force be with you!










