SenseTalkにおける制限ワード

SenseTalk言語には、何らかの文脈で特別な意味を持つ800を超す単語が含まれます。しかし、このような単語の中には、その特別な意味のみを保持するものがあります。残りの単語は、変数の名前として、またはユーザー独自のコマンドや関数用に使用できます。

スクリプトで重要な意味を持つ名前の使用においてユーザーに最大限の自由を与えるために、私達は制限ワードの数ができるだけ少なくなるように細心の注意を払いました。SenseTalkエンジンが適切にスクリプトを理解できるようにするために、単語の中には、その特別な意味のみに限定して使用しなければならないものがあります。これらの制限ワードを許可されていない方法で使用しようとすると、構文エラーが発生します。

制限のあるコマンドおよび関数名

以下の単語は、コマンドまたは関数名として使用できません。

catch

constant

do

else

end

exit

function

getProp

global

if

local

next

on

pass

properties

repeat

return

send

setProp

the

then

to

try

universal

制限のある変数名

以下の単語は、変数(コンテナ)の名前として使用できません。

down

else

empty

end

false

field

fld

global

if

repeat

return

target

then

true

universal

up

事前定義済みの変数

その他多くの単語は、事前定義済みの値を保持しており、通常、その標準的な意味を必要としない状況のみにおいて、変数として使用する必要があります。混乱を避けるために、このような単語を変数の名前として使用しないことが推奨されますが、これらの使用が禁止されているわけではなく、いくつかのケースにおいては、その中に異なる値を格納することが役に立つ場合もあります。事前定義済みの変数については、で詳細に説明します。以下に、変数名としての使用を避けた方がよい例を示します。

  • 代替ブーリアン値:yes、no、on、off
  • 特殊文字:コロン、コンマ、キャリッジリターン(cr)、creturn、If、行送り、crlf、フォームフィード、復帰改行、引用符、スペース、タブ、スラッシュ、バックスラッシュ、null
  • アルファベットによる数値表記:pi、zero、one、two、threeなど
  • 現在の日付や時間:today、now、date、time

また、ホストアプリケーションとロード済みの外部モジュールが、その他の事前定義済みの変数を定義する場合もあります。

引用符なしのリテラル

変数名として許可されているその他すべての単語(上記の制限リストに含まれていないか、事前定義済みの特別な値を持たないもの)は、別のものが格納されるまで、変数の名前として評価されます。その他の単語においては、引用符なしのリテラルとして使用できます。このような名前を変数として使用すると、その値はemptyとして処理されます。引用符なしのリテラルは、ハンドラ内の最初の使用に従って、常に大文字で始めます。同じハンドラ内で同じ名前(大文字と小文字だけが異なる)を続けて使用すると、最初のオカレンスと同じとして処理されます(以下の例の最初の3行を参照)。

注意

strictVariablesグローバルプロパティをtrueに設定する場合は、初期化していない変数を引用符なしのリテラルとして使用することはできません。

put BIG -- "BIG"

put little -- "little"

put big && LITTLE -- "BIG little"

set the strictVariables to true --引用符なしのリテラルの使用を防止します

put big -- これにより、例外が投げられます

 

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