Ответ 1
Противоположностью read
является show
.
Prelude> show 3
"3"
Prelude> read $ show 3 :: Int
3
Я знаю, что вы можете преобразовать String
в число с помощью read
:
Prelude> read "3" :: Int
3
Prelude> read "3" :: Double
3.0
Но как вы получаете представление String
значения Int
?
Противоположностью 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
третья строка не будет компилироваться.