Math Expressionは、数学式じゃなく、C++で書かれている
妹「前回のやつだけど、MathExpressionノードがちゃんと出てないね……」
「言われてみればたしかに。やっぱり他の方法で載せた方がいいんだろうか」
妹「でもブループリント多いと大変だよね……それはともかくとして、そのMath Expressionなんだけど、あれも大変だったんだよ」
「絶対値を入れる方法を聞かれたから教えたような」
妹「そうなんだけど、ドキュメントに書いて通りにやってたら、なんかおかしなことになって」
sin( や rand( のようにアルファベット名の次に開き括弧がくると、それは関数ノードに変わります。
妹「って書いてあったからね、 abs( って書いたみたけど、駄目だったんだよ。rand( も駄目だった」
「開きカッコがくると関数になる??? ……あー、そういうことか。カッコは閉じないと駄目だね」
妹「やっぱり……これだと端っこがドコだかわからないような気が、うすうすはしてたんだけど、でも開きカッコがっていうけど、閉じカッコとは書いてなかったから、余計な物は書かないほうがいいのかと。閉じカッコも入れてみたらなんか動いたんだけど」
「カッコが来ると変数名じゃなくて関数名として認識されるけど、結局カッコが足りないのは足りないから、足りないってエラーがでたというか」
妹「数学というのはむずかしい」
「これは数学じゃなくて、ほぼC++なんだけどね。C++の計算に関係することだけ書けるというか」
妹「そうなの? これ数学式じゃなかったっけ?」
「だって数学だったら掛け算のとこに*とは書かないでしょ」
妹「たしかに……」
「数学だと絶対値にする時も、縦棒で囲むとかで、関数あつかいはしてない。平方根のルート記号も、パソコンだと表現しにくいから、sqrt()とかって関数にするし、数学とはだいぶ書き方が違う。C++だけじゃなくて、プログラミング言語では全般的にそういう風に書くんだけど。書ける文字の都合とかあるから」
「一番後ろにあるコレも、C++では使えるけど、Math Expressionでは使えないという意味」
妹「そうすると……Math Expressionで使えなくて、C++でも使えないやつは、最初からこのページに書いてなかったりする?」
「その場合は書いてないと思う。同じC++でも、使うライブラリ……アセット的な物によって、関数の名前が少し違ってたりはするけど、そういう場合用に、よく使われる別の名前でも動くようになってるから。powとpowerはどっちでもいいとか」
妹「それは何のパワーに使うやつなの?」
「これはべき乗。数字の右上にくっついてる小さい字もパソコンだと難しいんで、そういう関数を使う事が多い。言語によっては関数じゃなく別の記号でやることもあるけど」
妹「そうなのか、うーん、よくわかんないけど、数学の記号よりはいいかもしれない」