演算式、及び、関数は原則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.txt スクリプトの先頭にジャンプする |
*LablelA | 現在実行中のスクリプトファイル内のラベル LabelA にジャンプする |
scripts/sample*LabelA | scripts/sample.txt スクリプト内のラベル LabelA にジャンプする |
Call 関数と Return 関数を使うとサブルーチンを作る事が出来る
Call 関数は Jump 関数と違い呼び出し位置に処理が戻る
Return 関数は戻り値を設定でき、Call 関数で受け取る事ができる
サブルーチンのネストは8回まで可能 (必要に応じて変更可)