higher order function
関数を引数に取ったり,関数を結果として返すような関数.数学では汎関数と呼ばれることもある.例えば次のように定義される関数fは,2つの引数 g, a を取り,a に g を2回適用した結果を与える.
f(g,a) = g(g(a))
Common LispやScheme, ML, Haskellといった関数型プログラミング言語では高階関数が多用される.
上の関数 f の定義をSchemeで書くと以下のようになる.
(define (f g a) (g (g a))
Common Lispやemacs Lispでは以下のとおり
(defun f (g a)(funcall g (funcall g a)))
ML(Standard ML)では以下の通り.
fun f (g, a) = g (g a);
R言語では以下のとおり
f <- function(g, a)g(g(a))
Rubyでは
def f(g,a)g.call(g.call(a))
end
Pythonでは
def f(g,a): g(g(a))
kmc-log2012-02-07
a-hisame2012-02-06
onefootinthegrave2012-01-30
seratch22012-01-28
onefootinthegrave2012-01-23
imagawa_yakata2012-01-04
minazoko2011-12-29
minazoko2011-12-26
xuwei2011-12-23
yagiey2011-12-21
i_k_b2011-12-19
mclh462011-12-18
yagiey2011-12-15
usaturn46492011-12-14
nobsun2011-12-10
Flast2011-12-10
jdg2011-12-09
minazoko2011-12-06
keigoi2011-12-06
athos2011-12-04