はじめてのHaskell(2)
関数の型
String -> [String]
関数の第一引数の型:String
関数の返り値の型:[String]
第一引数の型 -> 第二引数の型 -> .... -> 返り値の型
型変換
[a] -> Int
[a]:多相型(どんな型と置き換えても良い)
型の宣言
firstNLines :: Int -> String -> String ... 関数の型宣言
firstNLines n cs = unlines $ take n $ lines cs .... 関数の定義
関数名 :: 第一引数の型 -> 第二引数の型 -> .... -> 返り値の型
map関数
map :: (a -> b) -> [a] -> [b]
(a -> b):第一引数(引数a 返り値bの関数)
[a] : 第二引数
[b] : 返り値
map square [1, 2, 3]
- > [1, 2, 3]のすべてにsquare関数を適用し、リストを返す。
このように関数を引数とする関数を"高階関数"と呼ばれる。