AppleScript の基本文法
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!