演算式、及び、関数は原則1行に1つづつ記述してください
1行に複数の演算式(関数)を記述する場合はセミコロン(;)で区切ってください
演算式(関数)の途中で改行する場合は改行箇所に半角円記号(¥)を入れてください
関数の( )は省略する事も出来ます
デフォルト引数を持つ関数は引数の記述を省略可能です
スクリプト内では自由に変数を定義して使用することが出来ます (変数宣言は不要)
変数の型は自動的に設定されます
変数の有効期間はスクリプトが終了するまでの間のみです
スクリプトが閉じられるとスクリプト内で使用した変数は全てクリアされる事に注意してください
変数型は自動で設定されますがシステム内部では真偽値と数値、文字列が区別して扱われます
変数型によって使用できない演算子があることに注意してください
型 | 例 | 説明 |
---|---|---|
真偽値 | true, false | true 又は false を代入した変数は真偽値型となります。比較演算の結果も真偽値型となります |
数値 | 123, 14.5, 0xAB | 数値はシステム内部では全て double 型で保持します。16進数を使うときは先頭に 0x を付けてください |
文字列 | "abc", Null | ダブルクォートで囲むと文字列型となります。Nullも文字列として扱います |
Undefined | Undefined | 存在しない変数を使用した場合は Undefined という特殊な状態になります。変数が存在するかを確認するときにのみ使用します |
Void | コマンドとして使用することはありません。システム内部で引数未設定の状態を扱うときに使用します |
演算式に複数の変数型が混在している場合は以下の優先順位で変数型の変換が行われます
文字列 > 実数 > 整数 > 真偽値
例 ) 整数型+時数型 の解は整数型。 整数型 + 文字列型 の解は文字列型になる
文字列は加算演算子(+)で繋ぐことで結合することができます
文字列中の円記号(¥)はエスケープシーケンスとして扱われます
<エスケープシーケンス>
\t | タブ |
---|---|
\n | 改行文字 |
\\ | 円記号 |
\" | ダブルクォート |
スクリプト内では以下の演算子が使用できます
演算子 | 優先順 | 真偽値 | 数値 | 文字列 | 説明 |
---|---|---|---|---|---|
+ | 0 | × | ◯ | × | プラス符号 |
- | × | ◯ | × | マイナス符号 | |
! | ◯ | × | × | 真偽値反転 | |
~ | × | ◯ | × | ビット反転 | |
^ | 1 | × | ◯ | × | 累乗 |
* | 2 | × | ◯ | × | 乗算 |
/ | × | ◯ | × | 除算 | |
% | × | ◯ | × | 剰余残 (余り算) | |
+ | 3 | × | ◯ | ◯ | 加算 |
- | × | ◯ | × | 減算 | |
<< | 4 | × | ◯ | × | 左ビットシフト |
>> | × | ◯ | × | 右算術ビットシフト | |
>>> | × | ◯ | × | 右論理ビットシフト | |
< | 5 | × | ◯ | × | 未満 |
<= | × | ◯ | × | 以下 | |
>= | × | ◯ | × | 以上 | |
> | × | ◯ | × | 超過 | |
== | 6 | ◯ | ◯ | ◯ | 等価 |
!= | ◯ | ◯ | ◯ | 不等価 | |
& | 7 | ◯ | ◯ | × | ビット論理積 |
| | 8 | ◯ | ◯ | × | ビット論理和 |
@ | 9 | ◯ | ◯ | × | ビットの排他的論理和 |
&& | 10 | ◯ | × | × | 論理積 |
|| | 11 | ◯ | × | × | 論理和 |
= | 12 | ◯ | ◯ | ◯ | 代入 |
+= | ◯ | ◯ | ◯ | 加算代入 | |
-= | ◯ | ◯ | ◯ | 減算代入 | |
*= | ◯ | ◯ | ◯ | 積算代入 | |
/= | ◯ | ◯ | ◯ | 除算代入 | |
%= | ◯ | ◯ | ◯ | 余算代入 | |
&= | ◯ | ◯ | ◯ | 論理積代入 | |
|= | ◯ | ◯ | ◯ | 論理和代入 |
条件分岐は以下の構文で記述します
条件式を囲む丸括弧()は省略可能です
条件分岐はネストさせることができます
1行に纏めて書くこともできます
スクリプトはファイルの終端に到達すると自動的に終了します
Exit 関数を使用するとその場でスクリプトを終了させます
Exit 関数の引数(戻り値)は省略する事が出来きます
但し、スクリプトの呼び出し元の仕様により戻り値の指定が必須の場合もあります
Jump 関数を使うと任意の場所に実行位置をジャンプさせる事ができます
ジャンプ先の指定は [<アセットバンドル名>/<スクリプト名>] [*<ラベル>] の形の文字列として記述します
ラベル例 | 説明 |
---|---|
scripts/sample | scripts/sample.lcm スクリプトの先頭にジャンプする |
*LablelA | 現在実行中のスクリプトファイル内のラベル LabelA にジャンプする |
scripts/sample*LabelA | scripts/sample.lcm スクリプト内のラベル LabelA にジャンプする |
Call 関数と Return 関数を使うとサブルーチンを作る事が出来ます
Call 関数は Jump 関数と違い処理が終わると呼び出し位置に実行位置が戻ります
Return 関数は戻り値を設定でき、Call 関数の戻り値として取得することができます
サブルーチンのネストは8回まで可能です (必要に応じて変更可)