## 2.4.1 ICオブジェクト

`IC`オブジェクトは対応付けのインターフェースを持っているので、メー ルアドレスは単に`ic['MailAddress']`で得ることができます。値の 代入も機能しますし、設定ファイルのオプションを変えることができます。

このモジュールは各種のデータ型を知っているので、IC内部の表現を``論理的'' なPythonデータ構造に変換します。`ic`モジュールをスタンドアロン で実行するとテストプログラムが実行され、ICデータベースにある全てのキーと 値のペアをリスト表示するので、文書代わりになります。

もしこのモジュールがデータをどう表わすか分からない場合は、`data` 属性に生のデータを入れた`ICOpaqueData`タイプのインスタンスを返しま す。このタイプのオブジェクトは値のアクセスだけでなく代入も可能です。

ディクショナリのインターフェースだけでなく、`IC`には以下のメソッド があります。

`launchurl`( | url[, hint])

  与えられたURLを解析し、正しいアプリケーションを起動してURLを渡します。省 略可能なhintは、`'mailto:'`などのスキーム名で、不完全なURLはこ のスキームにあわせて完全化されます。もしhintが与えられていない場合 は、不完全なURLは無効になります。

`parseurl`( | data[, start[, end[, hint]]])

  dataの中からURLを検索して、URLの開始位置、終了位置、URLそのものを 返します。省略可能なstartとendで検索範囲を制限することができ ます。例えば、ユーザーが長いテキストフィールドをクリックしたとしても、テ キストフィールド全体とクリック位置startを渡すことができて、この ルーチンによってユーザーがクリックしたテキストからURL全体が返されます。 既に述べたように、hintはオプションのスキームで、不完全なURLを完全 化するために使われます。

`mapfile`( | file)

  与えられたfileに対するマッピングエントリーを返します。fileと してファイル名か`macfs.FSSpec()`の結果を渡すことができて、存在 しないファイルであってもかまいません。

  マッピングエントリーはタプル`(version, type, creator, postcreator, flags, extension, appname, postappname, mimetype, entryname)` として返されます。ここでversionはエントリーのバージョン番号、 typeは4文字のファイルタイプ、creatorは4文字のクリエータタ イプ、postcreatorは省略可能な後処理用アプリケーションを示す4文字 のクリエータで、このアプリケーションはファイルをダウンロードした後にファ イルを後処理します。flagsは各種のビットであり、転送をバイナリで 行うかアスキーで行うかなどを表わします。extensionはこのファイルタ イプに対するファイル名の拡張子、appnameはファイルが属するアプリ ケーションの出力可能な名前、postappnameは後処理用アプリケーショ ン、mimetypeはこのファイルのMIMEタイプ、最後のentrynameは このエントリーの名前です。

`maptypecreator`( | type, creator[, filename])

  与えられた4文字のtypeとcreatorを持つファイルに対するマッピン グエントリーを返します。正しいエントリーが見つかりやすいように、オプショ ンのfilenameを指定することもできます(例えばクリエータ`'????'` の場合など)。

  マッピングエントリーはmapfileと同じフォーマットで返されます。

`settypecreator`( | file)

  存在するfileをファイル名か`macfs.FSSpec()`の結果として与 えると、拡張子から判断してクリエータとタイプを適切にセットします。ファイ ンダにこの変更が伝えられるので、ファインダのアイコンは即座に更新されま す。