*Luaライブラリ 要注意点 ~ビット演算ライブラリ~ [#d3df91d8] **5.1⇒5.2⇒5.3ところころ変遷したビット演算 [#d5cd1e1b] -Lua5.1にはビット演算子が存在しない~ LUA5.1にはビット演算を行う標準的なライブラリも存在しなかった。~ LUA5.2にて初めてライブラリとして導入された形となる。~ (※Lua5.1にLua5.2とそっくりなライブラリを実装するには、[Luaで良く作る関数 ~bit32編~[[Lua implements_func_bit32]]) スコアスタジオで利用するLUAが5.1か5.2かは微妙なラインであろう。 ただし、原則LUA層でそれほどビット演算をする機会はないと思われる。 なお、スコアスタジオのLUAには、Utils.luaの中に、右シフトと左シフトだけlshift, rshiftという形で用意されている。 bit32.band、bit32.bor、bit32.btest、bit32.bxorの引数は可変長で複数の値を同時に演算することができます。 bit32.band(15,6,3) --> ビット演算子でいう 15 & 6 & 3 ⇒ 2 bit32.bandとbit32.btestの違いは、前者は演算結果の数値を返すのに対し、後者は演算結果の数値が0ならばfalseを0以外ならばtrueを返す、という点です。