• [^] # Re: Les vrais ajouts

    Posté par . En réponse au journal Java 7 est dispo !. Évalué à -1.

    il est assez trivial de faire de l'appel de méthode paramétrique en Python.

    Qu'est ce donc ?

    Ou si tu veux utiliser des fermetures, avec un dictionnaire.

    J'ai vu deux solutions :

    {'option1': function1,
     'option2': function2,
     'option3': function3,
     'option4': function4}[value]()
    

    Il faut déclarer les fonctions avant et garder la cohérence entre le nom des fonctions et leur appel (aucun IDE ne t'aideras et je doute qu'un interpréteur sache valider l'instruction avant son éxecution).

    Seconde solution

    result = {
     'a': lambda x: x * 5,
     'b': lambda x: x + 7,
     'c': lambda x: x - 2
    }[value](x)
    

    C'est bien quand ce que tu as comme code est compact, si non c'est illisible (puis les lambdas pose des limitations (Stupid lambda tricks)).

    Je parle pas du détournement que c'est d'un dictionnaire, de la gestion des defaults (il faut utiliser la méthode get()...), de la lecture à l'envers (la variable testée est à la fin de l'instruction sur la dernière ligne),...

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)