2020/09/19(土) [n年前の日記]
#2 [lua] Luaでゼロを使った除算をした際の動作がよくわからないので確認した
Lua で、ゼロを使って除算(割り算)をした時の動作がよくわからなかったので、少し確認してみた。環境は、Windows10 x64 2004 + Lua 5.4.0。
以下のページが参考になった。ありがたや。
_lua-users wiki: Inf And Nan Comparisons
でもまあ、計算する前に、計算に使う各値が 0 かどうかをチェックして処理を分けたほうが楽かもしれない…。
以下のページが参考になった。ありがたや。
_lua-users wiki: Inf And Nan Comparisons
> lua -i Lua 5.4.0 Copyright (C) 1994-2020 Lua.org, PUC-Rio > 10/5 2.0 > 10/0 inf > 0/10 0.0 > 0/0 nan > a = 10/0 > a == math.huge true > a == -math.huge false > a > -math.huge and a < math.huge false > a = 0/0 > a ~= a true > a > -math.huge and a < math.huge false
- 「10/0」のように、0で割ると、inf という値が入る。
- 「0/0」のような計算をすると、nan という値が入る。
- inf は、「a == math.huge」で判定できる。true なら該当。
- nan は、「a ~= a」で判定できる。true なら該当。
- 数値として有効かどうかは、「a > -math.huge and a < math.huge」で判定できる。数値として有効なら true。無効なら false。
でもまあ、計算する前に、計算に使う各値が 0 かどうかをチェックして処理を分けたほうが楽かもしれない…。
[ ツッコむ ]
以上です。