Haskell: преобразование Int в строку


Я знаю, что вы можете преобразовать String к числу с read:

Prelude> read "3" :: Int
3
Prelude> read "3" :: Double 
3.0

но как вы захватите String представление Int значение?

2 162

2 ответа:

напротив read и show.

Prelude> show 3
"3"

Prelude> read $ show 3 :: Int
3

пример, основанный на ответе Чака:

myIntToStr :: Int -> String
myIntToStr x
    | x < 3     = show x ++ " is less than three"
    | otherwise = "normal"

обратите внимание, что без show третья строка не будет компилироваться.