メインコンテンツまでスキップ

コンテナのプロパティ

テキストファイルに保存されたスクリプトと、スクリプトの実行時に動的に作成されたオブジェクトは、どちらもプロパティを持つことができます。これらのプロパティのほとんどはスクリプトによって変更可能です。オブジェクトの任意の変更可能なプロパティは、コンテナとして扱うことができます。

スクリプトプロパティ

SenseTalkは、ファイルに保存された任意のスクリプトをオブジェクトとして扱います。このようなすべてのスクリプトオブジェクトには名前があります。その名前は、オブジェクトのnameshort nameabbreviated namelong nameのプロパティを使用してアクセスできます。shortとabbreviatedの形式は、ファイル拡張子なしのスクリプトファイルの名前を返し、long形式はファイルのフルパス名を返します。任意のスクリプトやオブジェクトのlong idプロパティは、そのオブジェクトを参照するための一意の識別子です。これらのプロパティは読み取り専用です。

スクリプトファイルは、「プロパティ宣言」で追加のプロパティを定義することもあります。これらは実行時にオブジェクトの変更可能なカスタムプロパティとして扱われ、コンテナとして操作することができます。

カスタムプロパティ

任意のオブジェクトにもカスタムプロパティを割り当てることができます。すべてのこのようなプロパティは変更可能であり、したがって次の例のように、コンテナとして扱うことができます。

put new object into sam -- プロパティがないオブジェクトを作成します
put "Sam Adams" into property "name" of sam -- 名前を設定します
put 36 into the age of sam -- 年齢プロパティを36に設定します
add one to sam's age -- samの年齢をインクリメントします
put "uel" after word 1 of sam's name
put sam.name & ", age " & sam.age -- Samuel Adams, age 37

オブジェクトとそのプロパティは、ここでは触れられていない多数の特殊なプロパティを含め、リストプロパティリスト、そしてオブジェクトとメッセージで詳しく説明されています。

ローカルとグローバルなプロパティ

オブジェクトのプロパティに加えて、SenseTalkの実行環境そのものに属する一連のプロパティがあります。これらには、the numberFormatthe itemDelimiterthe caseSensitiveなどの単一のハンドラのスコープ内で適用される「ローカル」プロパティと、the folderthe defaultNumberFormatthe defaultItemDelimiterthe shellCommandなどのすべてのハンドラにわたって適用される「グローバル」プロパティが含まれます。これらのプロパティすべては、その値を変更するためのコンテナ(まるで変数のように)として扱うことができます。

ローカルとグローバルのプロパティは、theの後にプロパティ名を使用してアクセスします。theはローカルまたはグローバルのプロパティ名を変数名と区別するために必要です。

文法:
the localOrGlobalPropertyName

ローカルおよびグローバルプロパティについての追加情報、ならびに利用可能なプロパティの完全なリストについては、ローカルとグローバルプロパティを参照してください。