Üst düzey işlevler için bir adlandırma kuralı var mı? Yani, diğer işlevleri döndüren işlevler.
Javascript'te bir örnek:
function onlyDivisibleBy(div) { // <-- higher order function
return function (n) {
return n % div === 0;
}
}
var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
arr.filter(onlyDivisibleBy(3)); // [0, 3, 6, 9]
arr.filter(onlyDivisibleBy(5)); // [0, 5]
Ben yukarıdaki gibi yazmak eğiliminde: yani, invokasyon noktasında okunabilirlik için optimize (Ben tanım noktasında uzakta, ancak "sadece 5 ile bölünebilir öğeleri almak için dizi filtre" gibi yukarıdaki son satırları okudum) kullanıldığı bağlamda, bu işlevin adından ne yaptığını anlamak o kadar kolay değildir.