このページは福井県立大学の田中求之が2006年1月まで運用していた Mac のサーバ運用に関する会議室 「Web Scripter's Meeting」の記録です。情報が古くなっている可能性がありますのでご注意ください。

OSAXの使い方を教えて下さい

発言者:岩崎博正
( Date Tuesday, August 27, 1996 18:05:47 )


「マッキントッシュインターネット構築術」の読者ですが、(初歩
的なことで申し訳ありませんが)OSAXの使い方を教えて下さい(コマンド
の書き方)。本に掲載されていたsetコマンドを機能拡張に入っている
ファイルに適用してみましたが、うまくいきません。AppleScriptを知っ
ているのが前提で書かれている本なのに申し訳ございません。様々な本を
見ましたが、結局、AppleScriptのデベロッパーズキットを購入しないと
OSAXをきちんと知ることはできないようです。現在4Dにシステム7パック
というAppleEventが使える外部コマンドを入れ、Webとの間でACGIを作っ
ているものですが、POSTメソッドを使用するに当たり、文字化けを回避す
る方法として貴殿のOSAXの存在を構築術で知りました(それまでGETコマ
ンドでつかっていたため、このような経験はありませんでした)。4Dにお
ける7パックからのコマンドの書き方にも問題がありますが、とりあえず
AppleScriptにおけるOSAXの使い方と言う点に限定していただき、お教え
いただくようお願い申しあげます。

SBK さんからのコメント
( Tuesday, August 27, 1996 21:24:12 )

> OSAXの使い方を教えて下さい

とのことですが、どの部分でしょうか?

とりあえずの動かし方でしょうか?

OSAXの作り方でしょうか?

(私は答える程の技術的裏付けはありませんが、
 気になったものですから。)

とりあえず、この文面から察するに、こんな間違いをしている
とは思えませんが、OSAXは拡張機能のフォルダーのなかの、
スクリプティング機能追加にいれてみましたでしょうか。
または、本のOSAXは確かに田中さんのOSAXに含まれるものでし
ょうか?

(他の方が答えられる前に、とりあえずの露払いです)
//

岩崎博正 さんからのコメント
( Wednesday, August 28, 1996 09:59:27 )

SBKさんへ

アドバイスいただき有り難うございます。内容が不鮮明で申し訳ありませんで
した。伺いたいことは「OSXの動かし方」です。ファイルは機能拡張フォルダ内
スクリプティング機能追加に入っています。よろしく願います。

SBK さんからのコメント
( Wednesday, August 28, 1996 14:59:53 )

 OSAXは自分達で勝手に拡張したサブルーチン群(Cで言えば関数群)、
すなわちライブラリーです。コンパイラの言語では、これをコンパイ
ル時に組み込んでいきますが、AppleScriptの場合は、拡張機能にいれ
ておいて、その都度、呼び出すようになっています。
 さて、そこで使い方ですが、簡単で、上のコメントのように、スク
リプティング機能追加にいれて、ソースリストのなかで、その自作ル
ーチンを呼べばいいだけです。
 それら説明は、昔の言語のように分厚いマニュアルに入っているの
ではなく、AppleScriptの用語説明を開くで、使おうとするOSAXを開
けば説明が書いてあります。

 例えば、田中さんのBBS-DX2のソースでは、(かなり前半で)
      set roomList to fldrLister file thisFldr
というように書いてありますが、このfldrListerは、Tanaka'sOSAX
に含まれているルーチンです。用語説明を見ると、
fldrLister: List up folders
  fldrLister  file specification  -- search folder
    [asFSS  boolean]  -- return as FileSpec List? (default=false)
  Result:   list  -- list of folders
というような説明になっています。

 私はOSAX自体の作り方は知りませんので、その件につきまし
ては、他の方のコメントを待ってみてください。
//

田中求之 さんからのコメント
( Wednesday, August 28, 1996 19:17:45 )

岩崎さんの最初の発言に、勝手ながら改行をつけ加えさせてもらいました。

さて、本題ですが、すでに SBK さんの説明にもありますように、osax というのは
端的に言うと、AppleScript に新しいコマンドをつけ加えるためのモジュールです。
言い方を変えると、AppleScript に新しい語彙をつけ加えるものです。

ですから、osax をスクリプティング拡張機能に入れることで、その osax に組み込
まれている新しいコマンドをスクリプトの中で使えるようになるわけです。

たとえば、AppleScript には TCP/IP のネットワークをコントロールするための
コマンドは一切ありませんが、TCP/IP Scripting Addition を加えることで
スクリプトの中で TCP/IP によるネットワークのコントロールが可能になり、
メールを送信したりするようになるわけです。

それぞれの osax にどのようなコマンドが入っているか、そのコマンドをどのように
使うのか、つまりスクリプトを書く際の書式は、スクリプトエディタの辞書情報で
osax を開くことでわかるようになっています。

osax を使うだけであれば、Developer's Kit など必要ありません。
(もっとも、気になるのであれば、Developer's Kit は今やインターネットで
すべて無料で手に入れることができますけど)。

岩崎博正 さんからのコメント
( Thursday, August 29, 1996 17:55:20 )

SDKさん、田中さん、親切なご説明、有り難うございました。早速やってみるこ
とにします。今後ともよろしくお願いします。

SBK さんからのコメント
( Thursday, August 29, 1996 20:10:31 )

こちらこそよろしくお願いします。
私も、この方法を使ってみたいので、上のソースのテスト結果の報告
お願いしたいのですが、よろしいでしょうか?(他力本願)

SBK さんからのコメント
( Thursday, August 29, 1996 20:12:18 )

上の発言、コメントする場所を間違えました(ゴメンなさい)