Típusok magasabbrendű függvényekhez. Részletek...
Típusdefiníciók | |
| typedef int(* | fun1 )(int) |
| Egyparaméteres függvénytípus magasabbrendű függvényekhez. | |
| typedef int(* | fun2 )(int, int) |
| Kétparaméteres függvénytípus magasabbrendű függvényekhez. | |
Típusok magasabbrendű függvényekhez.
Egész-függvények átadására használhatóak. Például az alábbi program kimenete 1:
#include "cekla.h" // Returns true if Predicate(X) is true for some element X of list L int contains(const fun1 Predicate, const list L) { if (L == nil) return 0; else if (Predicate(hd(L))) return 1; else return contains(Predicate, tl(L))); } int even(const int x) { return x % 2 == 0; } int main() { const list L = cons(1, cons(2, cons(3, nil))); write(contains(even, L)); // prints if L contains even number }
1.7.1