高階関数
高階関数(HOF)は、次の条件の少なくとも1つに従う関数です-
- 引数として複数の関数を引き受けます
- 結果として関数を返します
PHPのHOF
次の例は、オブジェクト指向プログラミング言語であるPHPで高階関数を作成する方法を示しています。
<?php
$twice = function($f, $v) {
return $f($f($v));
};
$f = function($v) {
return $v + 3;
};
echo($twice($f, 7));
次の出力が生成されます-
13
PythonのHOF
次の例は、オブジェクト指向プログラミング言語であるPythonで高階関数を作成する方法を示しています。
def twice(function):
return lambda x: function(function(x))
def f(x):
return x + 3
g = twice(f)
print g(7)
次の出力が生成されます-
13