HaskellのI/O - テキストとUnicodeの操作 - Data.Textを使用する - splitOn関数, intercalate関数
入門Haskellプログラミング (Will Kurt(著)、株式会社クイープ(監修、翻訳)、翔泳社)の UNIT4(HaskellのI/O)、LESSON 23(テキストとUnicodeの操作)、23.2(Data.Textを使用する)、クイックチェック 23-3の解答を求めてみる。
コード
sample3.hs
{-# LANGUAGE OverloadedStrings #-}
import qualified Data.Text as T
main :: IO ()
main = do
print $ myLines sampleInput
print $ myUnlines (myLines sampleInput)
myLines :: T.Text -> [T.Text]
myLines = T.splitOn "\n"
myUnlines :: [T.Text] -> T.Text
myUnlines = T.intercalate "\n"
sampleInput :: T.Text
sampleInput = "this\nis\ninput"
入出力結果(Terminal, Zsh)
% runghc sample3.hs
["this","is","input"]
"this\nis\ninput"
%