Pertanyaan Mengapa `NaN` merupakan nilai yang mungkin untuk mengetik` Int` di Elm?


Saya baru mulai belajar Elm. Ketika saya melihat Int tipe saya mengira itu adalah sesuatu seperti Haskell Int, yang (saya pikir) mesin integer.

Tapi saya terkejut melihat ini:

> Result.withDefault 0 <| String.toInt "-"
NaN : Int

NaN adalah konsep floating point yang sepertinya tidak berlaku untuk bilangan bulat. Sepertinya ini mungkin bocor dari JS, yang akan menyiratkan itu Int direpresentasikan sebagai JS Number.

Apakah itu masalahnya? Mengapa keputusan desain ini dibuat, dan di mana saya bisa belajar tentang itu?

(Juga, dua pertanyaan kecil:

)


5
2017-07-01 14:55


asal


Jawaban:


NaN tidak valid Int nilai. Ini bug di dalam elm-lang/core paket yang memiliki sejak diperbaiki pada master, tetapi belum dirilis.


5
2017-07-01 18:42



Menjawab pertanyaan kecil kedua (itu mengerikan itu masih belum ketinggalan zaman) NaN sepertinya satu-satunya x seperti yang x /= x


0
2017-08-02 07:28