Zawsze, gdy piszę funkcję za pomocą podwójnych i całkowitych liczb, uważam, że jest to problem, w którym ciągle muszę używać "fromIntegral" wszędzie w mojej funkcji. Na przykład:Nadużywanie aplikacji fromIntegral w Haskell
import Data.List
roundDouble
:: Double
-> Int
-> Double
roundDouble x acc = fromIntegral (round $ x * 10 ** fromIntegral acc)/10 ** fromIntegral acc
Czy istnieje prostszy sposób na zapisanie tego? (Wiem, że nie może być prostsze sposoby zaokrąglania numer i jeśli istnieją proszę dać mi znać! Jednak jestem zainteresowana głównie w jaki sposób unikać tak wiele „fromIntegrals”).
Dzięki, Ash
Nie wiedział o "włączeniu", dzięki za wskazanie go! –
I jego wariant: http://stackoverflow.com/questions/3453608/overuse-of-integrated-in-haskell/3458922#3458922 – sastanin
Typ (/.) To (całkowy a, ułamkowy b, całkowy a1) = > a -> a1 -> b podczas gdy typ (/) 'on' fromIntegral to (ułamkowe b, całkowe a) => a -> a -> b. Jeśli potrzebujesz bardziej ogólnego typu, włączenie nie jest właściwe. – Peaker