First-Class Functions 2020/9
以下の関数をFirst-Class Function(第一級関数)と呼ぶ。
関数を変数へ代入する。
関数を他の関数への変数として渡せる。
関数を他の関数からの戻り値として返せる。
以下の関数をFirst-Class Function(第一級関数)と呼ぶ。
- 変数に代入できる。
- 関数へ引数として渡せる。
- 関数の戻り値として返せる。
関数を変数へ代入する。
hogehoge = putStrLn "HogeHoge!"
GHCi> hogehoge HogeHoge!
関数を他の関数への変数として渡せる。
sayhello s = "Hello " ++ s ++ " !" hogecat func s = func s
GHCi> hogecat sayhello "Foo" Hello Foo !
関数を他の関数からの戻り値として返せる。
nijo n = n^2 sanjo n = n^3 docchi n = if n == 1 then nijo else sanjo
GHCi> docchi 1 4 16 GHCi> docchi 3 3 27