コンテナプロパティ
テキストファイルに格納されたスクリプトも、スクリプト実行時にスクリプトによって動的に作成されるオブジェクトも、プロパティを持つことができます。こうしたプロパティのほとんどは、スクリプトによって変更することが可能です。オブジェクトの変更可能なプロパティは、コンテナとして扱うことができます。
スクリプトプロパティ
さらに、スクリプトファイルは、「properties宣言」内で追加的なプロパティを定義することもできます。これらは、ランタイム時にオブジェクトの変更可能なカスタムプロパティとして扱われ、コンテナとして操作することが可能です。
カスタムプロパティ
オブジェクトには、カスタムプロパティを割り当てることもできます。こうしたプロパティはすべて変更可能なため、次の例のようにコンテナとして扱うことができます。
put new object into sam -- プロパティなしでオブジェクトを作成します
put "Sam Adams" into property "name" of sam -- 名前を設定します
put 36 into the age of sam --ageプロパティを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ランタイム環境自体に属しているプロパティも数多く存在します。この中には、1つのハンドラの範囲内に適用される「ローカル」プロパティ(the numberFormat、the itemDelimiter、the caseSensitiveなど)と、実行の間のすべてのハンドラにわたって適用される「グローバル」プロパティ(the folder、the defaultNumberFormat、the defaultItemDelimiter、the shellCommand、他多数)があります。これらすべてのプロパティは、値の変更に関して、コンテナとして(変数と同じように)扱うことができます。
ローカルプロパティとグローバルプロパティにアクセスするときは、プロパティ名の前にtheを使用します。このtheは、ローカルプロパティ名またはグローバルプロパティ名を変数名と区別するために必要です。
構文:
the ローカルまたはグローバルプロパティ名
ローカルプロパティとグローバルプロパティについてのさらなる情報や、利用可能なプロパティの全リストは、ローカルプロパティとグローバルプロパティをご覧ください。