はじめての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関数を適用し、リストを返す。

このように関数を引数とする関数を"高階関数"と呼ばれる。