高階関数

高階関数(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