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 }