特殊值
特殊值是指-Infinity,Infinity,NaN。
我们可以它们以下方式快速创建它。
-1/0,1/0,0/0
比较
假定a是传递的任意一个参数,b是Infinity。
- 请注意luke对NaN判断并不规范
- a==NaN true,这是不正确的,在代码中应该返回false
- NaN!=NaN false 这是不正确的,在代码中应该返回true
- 比较式
这里结果0表常数。
a!=b -inf,0
a==b nan,inf
a!=-b inf,0
a==-b nan,-inf
a<=b 0,inf,-inf
!a<=b nan
a<=-b -inf
!a<=-b inf,0,nan
b==a*0 nan,inf,-inf
b!=a*0 0
a>=b inf
!a>=b 0,-inf,nan
b>a*0 0
a>=b inf
!a>=-b nan
a>-b 0,inf
b>a 0,-inf
!b>a inf,nan
!a>-b -inf,nan
a>=-b 0,inf,-inf
!a>=b 0,-inf,nan
!b>a*0 inf,-inf,nan
该表格兼容1.14不过,使用isResourceLargerThan是过于繁琐的。
函数max(a,b) min(a,b)不受此规则影响,且用a>b和a<b进行比较。
举例
如果只想要Infinity和-Infinity通过,就可以用a<=1/0 and a*0==1/0。
其他
关于特殊值的表现,请见rwsave