妹、ABSをアベシと呼んでいた
妹「兄の書いたブループリントを見てると色々知らない使い方があるな。構造体のピンって分解できたんだなあ、とか」
「あれね。いちいちBreakしてMakeしてとかめんどくさくなって、何か楽出来る方法はないのかと探してて、ピンのとこ右クリックしたら出来た」
妹「あとアベシ」
「アベシ?」
妹「あ、しまった。つい口に出してしまった。Absolute、ABSってやつ」
妹「絶対値の説明とか見てたら難しいこと書いてあるんだけど、要はマイナスの記号を消すってことなのね」
「数学的な定義としては色々書いてあるけど、パソコンで扱う時はそれでいいよ。だいたいどの言語にもABSという名前の関数というのが用意してある」
妹「これは距離を調べる時に使うのか?」
「それが一番多い。例えばX軸で位置関係を調べるとき、片方が100で、もう片方が1だと、どっちから引くかで+99なのか-99なのか変わる。だからABSを付けるか、必ず多い方から引くプログラムにするかしないといけない。斜めも含める場合はもうちょい複雑な、2点間の公式を使うからABSは不要だけど」
妹「じゃあ必ずマイナスにしたい時は?」
「まずABS使って、0からその結果を引くか、-1を掛ける。0から引く方がたぶん計算は速い。ABSを使わずにそれをやると符号が逆になる。プラスだったらマイナスだけど、マイナスだったらプラスに変わる」
妹「いったんプラスにしてから逆にするから、必ずマイナスになるのか」
「そういうこと。もちろんBranchノード使って、0以上だったらとかで分岐させてもいいんだけど、それやるとexecピンも必要だから、どうしても複雑なブループリントになる。どっちの数字が大きいかで動作を変える場合はしょうがないけど、単純にマイナスを外すだけなら要らない」
妹「なんとなく要らなそうと思ってたけど、意外と役に立つんだな。アベシ」