AppleScriptの文字列比較(1)

AppleScriptについて聞かれるのが、文字列比較についての独特な表現についてです。

とりあえず、基本的な文字列比較について挙げておきましょう。

なお、イコールの表記についてはいくつか同義語が定義されており、「同じことを書くのに人によって記法が異なる」という傾向を生み出しています。

「is equal to」「is」「=」の3つがすべてイコールとして機能します。

なまりの強いAppleScriptのプログラムを手本とした場合に、よその人が書いたAppleScriptを見ても理解できなかったりするところです。

本Blogでは、海外のScripterとの交流の中で感じた、なるべく平易で分かりやすい記法を重視していますが、1つだけ例外があります。

不等号や等号付き不等号などにも別の表記方法があり……極力記号を使いたいところですが……これまでAppleScript Studio環境ではそれらの等号付き不等号がコンパイル時にハネられるとか、エラー発生原因になることが多く、UTF-8でソースコードを書けるようになったMac OS X 10.5までは、等号つき不等号を英語的な別の表記で書かざるを得なかった、という歴史的経緯があります。

等号つき不等号については、記号で書いた方が分かりやすいのですが、仕方なく英語的表記で記述していた、ということです。

スクリプト名:文字列比較
set a to “abc”
set b to “c”

–イコールかどうか?
if a is equal to b then
  display dialog “Equal”
else
  display dialog “Not Equal”
end if

–前方一致
if a begins with b then
  display dialog “begins with”
else
  display dialog “Not begins with”
end if

–後方一致
if a ends with b then
  display dialog “ends with”
else
  display dialog “Not ends with”
end if

–部分一致
if a contains b then
  display dialog “contains”
else
  display dialog “not contains”
end if

▼新規書類に ▼カーソル位置に ▼ドキュメント末尾に

Leave a Reply