代数的data型
import Data.List data Line = L {number::Int, name:: String} deriving Show myline::Line myline = L 17 "w-Vogel" mylist::[Line] mylist = [(L 1 "dora-yaki"),(L 3 "cake"),(L 2 "imo-kenpi")] sortLines::[Line] -> [Line] sortLines = sortBy (\x y -> number x `compare` number y) sortName::[Line]->[Line] sortName = sortBy (\x y -> name x `compare` name y) main = do print (name myline) print $ mylist print $ sortLines mylist print $ sortName mylist
ふつうのHaskellプログラミングを参考に書いてみた。ふむふむ、なるほどこんな感じか?
まだいまいち使い方がよくわからない
あと、モナドの練習もやってみた。
ポイントフリースタイルも使って、
main = do cs <- getContents putStr $ firstNLines 10 cs firstNLines n = unlines.take n.lines
が、
main = do getContents >>= putStr . unlines.take 10.lines
になった。