落書きノート

ふと自分が気になった事を書いてます

Haskellで不定期練習

import Text.Printf
import System.Random

main :: IO ()
main = do
  putStrLn "3個の乱数を生成しました。"
  a <- (getStdRandom $ randomR (0.0, 1.0) :: IO Float)
  b <- (getStdRandom $ randomR (0.0, 10.0) :: IO Float)
  c <- (getStdRandom $ randomR (-1.0, 1.0) :: IO Float)
  printf "0.0以上 1.0未満 : %f\n" a
  printf "0.0以上10.0未満 : %f\n" b
  printf "-1.0以上1.0未満 : %f\n" c


import Text.Printf

main :: IO ()
main = do
  putStrLn "姓"
  sei <- getLine
  putStrLn "名"
  mei <- getLine
  printf "こんにちは%s%sさん。\n" sei mei




import Text.Printf

main :: IO ()
main = do
  putStrLn "住所"
  address <- getLine
  printf "お住いは%sですね。\n" address




import Text.Printf
import Data.IORef

main :: IO ()
main = do
  s1 <- newIORef "ABC"
  let s2 = "XYZ"
  printf "文字列s1は%sです。\n" =<< readIORef s1
  printf "文字列s2は%sです。\n" s2
  writeIORef s1 "FBI"
  printf "文字列s1は%sです。\n" =<< readIORef s1
  printf "文字列s2は%sです。\n" s2