or1ko's diary

日々を書きます

20

言語処理100本ノック 2015

Wikipedia記事のJSONファイルを読み込み,「イギリス」に関する記事本文を表示せよ.問題21-29では,ここで抽出した記事本文に対して実行せよ.

20.hs

{-# LANGUAGE OverloadedStrings, DeriveGeneric #-}

import Data.Aeson as A
import Control.Applicative
import System.IO.UTF8 as I8
import System.Environment
import Data.Maybe
import Data.ByteString.Lazy.UTF8
import GHC.Generics

data Article = Article {
  text :: String,
  title :: String
} deriving (Eq, Show, Generic)
instance FromJSON Article

main = do
  filename <- head <$> getArgs
  body <- fromString <$> I8.readFile filename
  I8.writeFile "out2.txt" $ text $ fromJust $ A.decode body