130Fermer132
PpHdLe 05/08/2008 à 23:57
onur (./26) :
ce qui permet de faire une fonction capable de générer à la volée des fonctions de collision:

function createCollideFunction(low,high){
	return function(x){
		if (x>low && x<high) return true;
		return false;
	}
}

le jour où vous trouvez des langages qui font ça... (enfin y en a: python, LUA je pense, mais je veux dire le javascript joue dans la cour des grands)


Le C le peut:

#include <stdbool.h>
#include <stdlib.h>
#include <stdio.h>

int main (int argc, const char *argv[])
{
  bool (*createCollideFunction (int low, int high)) (int) {
      bool function (int x) {
        if (x>low && x<high)
          return true;
        return false;
      }
      return function;
  }

  int low = atoi (argv[1]);
  int high = atoi (argv[2]);

  bool (*f)(int) = createCollideFunction (low, high);

  int x = 3;

  printf ("collision = %d\n", f(x));
 return 0;
}

C'est juste la syntaxe qui est spéciale (et que c'est du GNU C 99 comme standard de langage).
dehors