メインコンテンツまでスキップ
バージョン:25.2

ルート計画 – コマンドと機能

Planning Your Route - Commands and FunctionsPlanning Your Route - Commands and Functions

You won't get anywhere in the SenseTalk landscape without Commands and Functions. We'll cover the important parts here, but for more information see Commands and Functions in the SenseTalk Reference guide.

コマンド

コマンドには2つの形式があります。カスタム構文(「put 7 into x」など)を持つ組み込みコマンドと、汎用コマンドです。汎用コマンドは、独自のスクリプトやハンドラを呼び出すために使用できます。汎用コマンドの構文は、1つの単語(コマンド)で構成され、その後に1つ以上のパラメータ(カンマ区切り)が括弧なしで続きます。

myCommand p1,p2,p3
myOtherCommand
Survival Tip

コマンドは関数ではありません

SenseTalkでは、各ステートメントはコマンドです。コマンドに渡されるパラメータは括弧で囲まれません。

myCommand param1, param2, param3

コマンドに渡される値を括弧で囲むと、括弧内の値はリストとして解釈され、単一のパラメータとしてコマンドに渡されます。

詳細については、コマンドとコメントを参照してください。

関数

関数呼び出しは、式のコンテキスト内で発生し、値が期待されます。関数は、独自のスクリプトやハンドラを呼び出すために使用できます。関数は複数の方法で呼び出すことができます。

put seed(p1,p2,p3) -- パラメータ付きの従来型関数構文
put seed() -- パラメータなしの従来型関数構文
put the seed -- パラメータなしの英語風構文(この場合、'the' は必須)
put the seed of p -- パラメータ 1 個付きの英語風構文('of' の場合は 'the' は省略可能)
put p.seed -- パラメータ 1 個付きのドット構文
put p's seed -- パラメータ 1 個付きの所有格構文

of、ドット、および所有格構文もオブジェクトのプロパティにアクセスするために使用できることに注意してください。

メッセージとハンドラー

SenseTalkはメッセージベースの言語です。コマンドは_コマンドメッセージ_を送信し、関数呼び出しは_関数メッセージ_を送信します。これらはどちらも、スクリプトまたは一致する名前の「メッセージハンドラー」によって処理できます。

注記

Terminology: このため、SenseTalk の手順は「関数」や「メソッド」ではなく「ハンドラー」と呼ばれます。

ハンドラには3種類あります。通常は、コマンドメッセージと関数メッセージの両方を処理できる to (または to handle) ハンドラを記述します。必要に応じて、コマンドメッセージのみを処理する on ハンドラや、関数メッセージのみを処理する function ハンドラを記述することもできます。

スクリプトは「to」ハンドラとして扱われ、スクリプトと同じ名前のコマンドまたは関数呼び出しを処理できます。スクリプトが呼び出されると、SenseTalkはスクリプトの「初期ハンドラ」を実行します。初期ハンドラは、スクリプトの先頭からスクリプト内の最初の明示的なハンドラ(「to」、「on」、「function」で始まる)までのすべてのコード行で構成されます。明示的なハンドラが含まれていない場合は、スクリプト全体で構成されます。

注記

ハンドラー間の行、または最後のハンドラーの後の行は無視され、実行されません。

詳細については、メッセージ および ハンドラー を参照してください。