Luaで少し遊んでいます。
予期しない動作をする次のコード スニペットを見つけました。
a = 3;
b = 5;
c = a-- * b++; // some computation
print(a, b, c);
Lua はエラーなしでプログラムを実行しますが2 6 15
、期待どおりに印刷しません。なんで ?
Luaで少し遊んでいます。
予期しない動作をする次のコード スニペットを見つけました。
a = 3;
b = 5;
c = a-- * b++; // some computation
print(a, b, c);
Lua はエラーなしでプログラムを実行しますが2 6 15
、期待どおりに印刷しません。なんで ?
++
LUA は、およびで増減しません--
。 --
代わりにコメントを開始します。
これにより、
3 5 3
3行目は と評価されるからc = a
です。
なんで?Lua では、コメントは--
. したがって、c = a-- * b++; // some computation
は次の 2 つの部分として評価されます。
c = a
* b++; //// some computation