math_NaN

非数の値を表します


taiseiue | 2025-02-13

定義

名前空間: Alice.Math
アセンブリ: Losetta.Runtime.dll
ソースコード: Alice.Math.cs

非数(NaN)の値を表します。

AliceScript
namespace Alice.Math;
public readonly number math_NaN;

対応
AliceScript 3.0、4
AliceSister 3.0、4
Losetta 0.10、0.11

説明

関数や演算子は、数学演算の結果が定義されていない場合にこの値を返します。 たとえば、\({0 \div 0 }\)の結果はNaNです。

AliceScript
print(0 / 0); //出力 : NaN

また、次のようにNaNに対する演算を行った場合、常にNaNが返されます。

AliceScript
using Alice.Math;

print(math_NaN + 1); //出力 : NaN

演算結果の値がNaNかどうかを判断するには、等価演算子(==)ではなく、math_isNaN関数を使用してください。 常にfalseが返るため、NaNの値同士の等価演算を行うことはできません。

AliceScript
using Alice.Math;

var maybeNaN = 0 / 0;

print($"NaN == NaN : {maybeNaN == math_NaN}"); //出力 : false
print($"math_isNaN : {math_isNaN(maybeNaN)}"); //出力 : true

Alice2.3以前のバージョンでは、定数NaNを使用することで、同等の値を得られます。

次の例では、NaNを表示しています。

AliceScript
using Alice.Math;

print(math_NaN); // 出力 : NaN