Skip to main content
Function ブロック(f(x)f(x,y,z)f(x,y,z,w,a,b,c,d)、Boolean 版)は、プロパティに設定した式文字列を評価します。この式は Lua ではなく、Stormworks 独自の小さな数式言語です。
比較演算子(< > == != <= >=)と三項演算子(?:)は存在しません。数値の比較が必要な場合は、Threshold Gate や Greater Than などの比較ブロックを式の外側で使ってください。

使える文字

式で使える文字は数字・小数点・英小文字・演算子記号・括弧・カンマ・空白(読み飛ばされる)だけです。変数は x, y, z, w, a, b, c, d の小文字1文字で、対応する入力の数だけ使えます(f(x) なら x のみ、f(x,y,z,w,a,b,c,d) なら8つすべて)。

演算子

優先順位は低い順です。
式の中の /% は生の IEEE 754 演算で、x/0 は無限大、x%0NaN になります。これは Divide ブロック(ゼロ除算で 0.0 を返す)とは別の挙動です。

関数・定数

asin(x) / acos(x)x が -1〜1 の範囲外だと 0 を返します。エラーにはなりません。

エラー時の挙動

文法として解釈できない式は、通常のブロック未接続時と同じデフォルト出力(Number 系なら 0.0、Boolean 系なら false)になります。