Chức năng đặt hàng cao hơn
Hàm bậc cao hơn (HOF) là hàm tuân theo ít nhất một trong các điều kiện sau:
- Sử dụng hoặc nhiều chức năng làm đối số
- Trả về một hàm dưới dạng kết quả của nó
HOF bằng PHP
Ví dụ sau đây cho thấy cách viết một hàm bậc cao hơn trong PHP, là một ngôn ngữ lập trình hướng đối tượng:
<?php
$twice = function($f, $v) {
return $f($f($v));
};
$f = function($v) {
return $v + 3;
};
echo($twice($f, 7));
Nó sẽ tạo ra kết quả sau:
13
HOF bằng Python
Ví dụ sau đây cho thấy cách viết một hàm bậc cao hơn trong Python, là một ngôn ngữ lập trình hướng đối tượng:
def twice(function):
return lambda x: function(function(x))
def f(x):
return x + 3
g = twice(f)
print g(7)
Nó sẽ tạo ra kết quả sau:
13