外国語翻訳


The following translations from other languages may help you to get oriented in the land of SenseTalk.
% {#}
% 記号は多くの言語で「剰余」演算子として使用され、最も一般的には、数が偶数か奇数か、あるいはある数で割り切れるかを判定するために使用されます。SenseTalkでは、一般的なケースとして「mod」演算子と「rem」演算子が用意されています。より一般的な割り切れるかどうかの判定は、以下のように記述されます。
if x is an even number then…if x is divisible by 10 then…if x is a multiple of 25 then…
詳細については、倍数、割り切れる演算子 を参照してください。
=, ==, !=
多くの言語では、代入には = 記号を使用し、等価性の判定には == を使用します。SenseTalk では、=(または is、are、equals、is equal to などの単語)は「等しい」という意味で、== および != 記 号は使用しません。代入には put コマンドと set コマンドを使用します。詳細については、比較演算子 および コンテナへの格納 を参照してください。
++, --, +=, -=
これらの記号は、多くの言語で変数の増分や減分、あるいは変数への加算や減算に使用されます。SenseTalkでは、「add」コマンドと「subtract」コマンドが使用されます。
add 1 to x -- increment
subtract 1 from x -- decrement
add foo to x -- add an amount
subtract foo from x -- subtract an amount
詳細については、算術コマンドを参照してください。
nil, null
他の言語では、これらの用語は値が割り当てられていないものを示すために使用されます。SenseTalk はほぼすべての場合、この目的で empty を使用します。empty が空の文字列 ("" と同じ) であるという事実は奇妙に思えるかもしれませんが、実際には非常にうまく機能します (これが本当に気になる場合は、変数を箱と考えるとわかりやすいかもしれません。箱に何も入っていないときは空ですが、箱はそこにあります)。empty と値の完全な欠如を区別することが重要なまれなケース (主にデータベースを操作する場合、または JSON または XML-RPC オブジェクトとの間で変換する場合) のために、SenseTalk には missing value (および同義語の nil と null) もあります。めったに使用されない用語 nullChar はヌル文字を表します (numToChar(0) と同じ)。
array, matrix, list
SenseTalkにおける「リスト」とは、他のリストを含む任意の値の組み合わせを含むことができる可変長の連続コレクションです 。リスト内の項目を参照するには、「item」または「items」という用語を使用してください。SenseTalkのリストはスパース配列実装を使用しているため、リストの項目1000000に値を格納しても、項目100に格納する場合とメモリ使用量は変わりません。
ハッシュ、ハッシュテーブル、辞書、連想配列
SenseTalk における「プロパティ リスト」または「オブジェクト」は、キーと値のコレクションです。
正規表現、regex
SenseTalk ではこれらを「パターン」と呼び、それを定義するための英語のようなパターン言語が含まれています。
eval, exec
SenseTalkのvalue関数は文字列式を評価し、その値を返します。doコマンドはコード行を含む文字列を実行します。shellコマンドと関数はシェル環境でコードを実行します。
for, while, do
SenseTalk のすべての繰り返しループは、「repeat」という単語で始まる行で始まり、「end repeat」という 行で終わります。繰り返しループには様々な種類があり、一般的なケースに加えて、「repeat for [a duration]」(例:「repeat for 15 seconds」)や時間ベース(例:「repeat until "5:00 PM"」)といった独特なものもいくつかあります。
switch / case
他の言語の case ステートメントに相当する SenseTalk のステートメントは、「multi-case if」ステートメントと呼ばれます。これは、条件文を「…」で区切られた 2 つの部分に分割する if のバリエーションです。
if color is …
… "red" then doSomethingRed
… "green" then becomeGreen
… "blue" then singTheBlues
else put "I don't know that color"
end if