Functional-programming-higher-order-functions

提供:Dev Guides
移動先:案内検索

高階関数

高次関数(HOF)は、次の条件の少なくとも1つに従う関数です-

  • 引数として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