killme2008 / aviatorscript

A high performance scripting language hosted on the JVM.
http://fnil.net/aviator/
4.45k stars 831 forks source link

变量未设置或为 null 时,表达式解析都为 true #509

Closed a1392136 closed 1 year ago

a1392136 commented 1 year ago

变量: 在 Java 中, null 只能参与等于和不等于的比较运算,而在 AviatorScript 中, nil 可以参与所有的比较运算符,只是规定任何类型都比nil大除了nil本身 上面这种设计导致无论字符比较还是数值比较都为 true 想确认下为什么这么设计,是否有配置可以控制该情况下为 false

killme2008 commented 1 year ago

这个设计部分来自 clojure。如果想要改变这个行为,可以自己重载比较运算符。