it-swarm.com.ru

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

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

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

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

167
Squirrelsama

Противоположностью read является show.

Prelude> show 3
"3"

Prelude> read $ show 3 :: Int
3
248
Chuck

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

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

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

3
prasad_

Любой, кто только начинает с Haskell и пытается напечатать Int, использует:

module Lib
    ( someFunc
    ) where

someFunc :: IO ()
x = 123
someFunc = putStrLn (show x)
0
Arlind