に有理数上で、次の機能は非常に簡単です: test :: Int -> Int
test x = case x of
0 -> 0
1 -> 1
_ -> 2
そして実際、test 0 == 0、test 1 == 1、およびtest 77 == 2。 次の関数は、ほとんどように簡単です: import Data.Ratio
test2 :: Rationa
私はa programming contestとone of the problemsに参加しています。入力データに小数点以下の小数が含まれています:0.75がその一例です。 Doubleに解析するのは簡単ですが(私はそれにはreadを使用できます)、精度の低下は苦痛です。 Doubleの比較には非常に注意が必要です(私はそうではありません)。これは、Haskellのデータ型がRationalなの