Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Haskell初心者がHaskellの楽しさについて語る

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.

 Haskell初心者がHaskellの楽しさについて語る

Avatar for Yuto Takamune

Yuto Takamune

February 22, 2023
Tweet

More Decks by Yuto Takamune

Other Decks in Programming

Transcript

  1. 2_C

  2. 解説 • 1~3行目: モジュールのインポート • 6行目: 標準入力 ◦ getLineで読み込まれた入力を wordsを使って空白区切りでリストにし、

    map (read :: String -> Int) でリストの中身をStringからIntに変換 • 7行目: 加工して出力 ◦ sort sでリストを昇順ソート ◦ それをmap showに渡してリストの中身を Stringに変換 ◦ それをunwordsに渡して空白区切りの文字列に変換 ◦ それをputStrLnに渡して出力
  3. 2_D

  4. 3_A

  5. 6_B

  6. コード解説 • 1~4行目: モジュールのimport • 7行目: 入力を全てssに読み込み • 8行目: コアロジック全て

    ◦ lines ssで入力を改行区切りでリストにする ・・・① ◦ (++) <$> ["S ", "H ", "C ", "D "] <*> map show [1 .. 13] :: [String])で、S1, S2, … D13までのリスト を作成・・・② ◦ //で①と②の差分リストを作成 ◦ そのリストをunlinesに食わせて改行区切りの文字列に変換 ◦ putStrに食わせて出力