はじめてのHaskell(3)
expand.hs ver.0
if文
if 条件式 then 式1 else 式2
関数
関数 | 概要 |
---|---|
(==) | a->a->Bool: x==y (xとyの"内容"が等しいときTrueを返す) |
main = do cs <- getContents putStr $ expand cs expand :: String -> String expand cs = map translate cs translate :: Char -> Char translate c = if c == '\t' then '@' else c
expand.hs ver.1
関数
関数 | 概要 |
---|---|
concat | a -> [a] (リストのリストを連結して一つのリストにする) |
例:[[1,2],[3],[4,5]] -> [1, 2, 3, 4, 5]
※concatはリストを一重減らすだけ。
main = do cs <- getContents putStr $ expand cs expand :: String -> String expand cs = concat $ map expandTab cs expandTab :: Char -> String expandTab c = if c == '\t' then " " else [c]
※String は [Char]