
→ 販売ページ
AppleScriptのプログラムの背骨、繰り返しループ
条件に合ったオブジェクトを配列に入れ、順次ループで処理するのが定石
AppleScriptの言語仕様には、高度な構文も、びっくりドッキリ機能も何もありません。きわめてシンプルな条件分岐と繰り返し処理を書けるだけです。
逆にいえば、ループ処理はプログラミング的な仕組みがきわめてシンプルな言語において、欠かすことのできないほど重要な存在といえます。
この、シンプルながらも重要なループ処理においても、若干のハマりポイントがあります。データ量が増えたときに備えておかないと、極端に速度が落ちる危険性もあります。再帰処理も書けますが、それほど登場頻度は高くありません。
AppleScriptを書くという行為は、よほどの小規模なものでなければ、ループ処理を書くことを意味します。ダイアログ表示も何もなくても、だいたいは何らかのデータを、ループで処理します。
一見、自然言語風の高級言語のような顔つきをしていますが、一部では「略語を用いないアセンブラ」と呼んでいるほど。Cocoaの機能でも使わないかぎり、地道にループで書いたコードを積み重ねていくというのが、AppleScriptでよく見られる光景です。難しくはないのですが、やや根気が要求されるといえるでしょう。
PDF 33ページ+Zipアーカイブ
■ループによる繰り返し処理
AppleScriptの制御構文
繰り返しループ
repeat文①
repeat文②
repeat文③
repeat文④
repeat文⑤
repeat文⑥
exit repeat
多重ループ+exit repeat
■アプリケーションから取得したオブジェクトでループ
アプリケーションのオブジェクトを処理
Photos上の選択中の写真から情報を取得
Keynoteで選択中のオブジェクトを位置でソート
Numbersで表のセルが連結されていたら分離
targetが重複しているFinder Windowをクローズする
ミュージック.appで選択中のtrackの情報取得
大量のオブジェクト受信に備える
■高度な処理を簡潔に記述
複数の配列の同時ループ
ページ分け
再帰処理