functionシートで使える構文
基本的にはJava言語にかなり近い、静的型付け、静的スコープ、スクリプト型言語となっています。
また、異なる型同士の演算の場合、なるべく型をキャストしてから計算します。
なお関数ごとに変数のスコープは別なので、他の関数と変数がかぶっても問題ありません。
コメントの書き方
// とすればコメントになります
演算子一覧
各演算については後で詳細を記述します
| + | (加算) |
| - | (減算) |
| * | (乗算) |
| / | (除算) |
| % | (剰算) |
| >> | (右論理シフト) |
| >>> | (右算術シフト) |
| << | (左シフト) |
| && | (論理積) |
| || | (論理和) |
| & | (bit演算and) |
| | | (bit演算or) |
| ^ | (bit演算xor) |
| ! | (否定) |
| ~ | (bit反転) |
| (型名) | (キャスト演算) |
対応している型
| 型名 | 説明 | 表記法 |
| int | 64bit整数 | 12, -23などの数字 |
| double | 64bit浮動小数点数 | 12d, 0.32d, -12.32dなど末尾にdをつける |
| boolean | 真偽値(true, false) | true falseのみ |
| String | 文字列 | ""、もしくは''で囲う (\\ \" \'によりエスケープ可能) |
配列型
int[] a = new int[3]などのように変数定義をすることで、配列を定義できます。
配列はa[2]のようにアクセスすることが出来ます(すべて初期値はnullです)
また、int[][] aのように高次元の配列も定義することが出来ますが、a[2]のように部分配列アクセスは対応していません。ご了承ください。
配列に定義されているプロパティは以下の通りです
| プロパティ名 | 型 | 内容 |
| length | int | 配列の長さ、多次元配列の場合はすべての次元の要素数の積 |
| shape | int[] | 配列の形、多次元の場合は[2,3,1]のように帰ってくる |
外部関数呼び出し
functionシートで定義した他の関数(や、自分自身)を呼び出すことができます
[groupid].[function名](引数, 引数, ...);
とすると呼び出すことが出来ます(return文がある場合、結果も帰ってきます)
組み込み関数一覧
別ページにまとめてあります function/組み込み関数