Moja metoda jest następującaW Scala, dlaczego NaN nie jest odbierany przez dopasowywanie wzorców?
def myMethod(myDouble: Double): Double = myDouble match {
case Double.NaN => ...
case _ => ...
}
IntelliJ debugger jest pokazujący NaN ale to nie jest podejmowany w moim wyszukiwania wzorca. Czy są możliwe przypadki jestem pomijając
+1 za wskazanie, że 'NaN = NaN' w wielu (jeśli nie wszystkich) języków programowania, które narażają tym! wartość dla programisty. –
Należy zauważyć, że jeśli większość liczb nie jest NaN, '.isNaN' jest tylko o połowę szybsza od' java.lang.Double.isNaN', więc ta ostatnia powinna być preferowana w ciasnych pętlach. (Dopasowanie jest tak szybkie, jak instrukcja if.) Dla jasności (tj. Wszędzie z wyjątkiem ciasnych pętli krytycznych pod względem wydajności), forma '.isNaN' jest prawdopodobnie najlepsza. –