コンテナプロパティ

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

スクリプトプロパティ

SenseTalkは、ファイルに格納されたスクリプトをオブジェクトとして扱います。こうしたスクリプトオブジェクトはすべて、名前を持ちます。名前にアクセスするときは、オブジェクトのname、short name、abbreviated namelong nameプロパティが使用できます。shortおよびabbreviated形式では、ファイル拡張子なしのスクリプトファイル名が返されます。long形式では、ファイルのフルパス名が返されます。スクリプトまたはオブジェクトのlong idプロパティは、オブジェクトの参照に使用可能な一意の識別子です。これらのプロパティはリードオンリーです。

さらに、スクリプトファイルは、「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 numberFormatthe itemDelimiterthe caseSensitiveなど)と、実行の間のすべてのハンドラにわたって適用される「グローバル」プロパティ(the folderthe defaultNumberFormatthe defaultItemDelimiterthe shellCommand、他多数)があります。これらすべてのプロパティは、値の変更に関して、コンテナとして(変数と同じように)扱うことができます。

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

構文:

the ローカルまたはグローバルプロパティ名

ローカルプロパティとグローバルプロパティについてのさらなる情報や、利用可能なプロパティの全リストは、ローカルプロパティとグローバルプロパティをご覧ください。

 

This topic was last updated on 2月 01, 2019, at 11:13:23 午前.

Eggplant icon Eggplant.io | Documentation Home | User Forums | Support | Copyright © 2019 Eggplant