Mi método es el siguienteEn Scala, ¿por qué NaN no se recoge mediante la coincidencia de patrones?
def myMethod(myDouble: Double): Double = myDouble match {
case Double.NaN => ...
case _ => ...
}
El depurador IntelliJ está mostrando NaN pero esto no está siendo recogido en mi coincidencia de patrones. ¿Hay posibles casos estoy omitiendo
+1 por señalar que 'NaN = NaN' en muchos (si no todos) los lenguajes de programación que exponen a esto! valor para el programador. –
Tenga en cuenta que si la mayoría de los números no son NaN, '.isNaN' es solo la mitad de rápido que' java.lang.Double.isNaN', por lo que este último debería preferirse en bucles ajustados. (La coincidencia es tan rápida como una instrucción if.) Para mayor claridad (es decir, en todas partes, excepto en los lapsos críticos de rendimiento estricto), la forma '.isNaN' es probablemente la mejor. –