• [^] # Re: .call

    Posté par . En réponse au message Pointeur de fonction ?. Évalué à 4.

    Mais c'est quoi ce thread : il n'y a pas de first class function en ruby ? C'est une blague ?

    Je dis ça parce que je fais du python, et qu'on me vante souvent ruby comme un langage encore mieux, blah blah. Si on n'est pas capable de résoudre sont problème simplement, il y a vraiment un gros problème.

    Solution en python, sans classe ni trop de bordel :


    def mi(a, b, c, d):
    return a*b*c*d

    def log(a, b, c, d):
    return a/b/c/d

    Puis :

    if mes == "mi":
    ma_fonction = mi
    elif mes == "log":
    ma_fonction = log

    Voire :

    ma_fonction = locals()[mes]

    (ok, l'utilisation de locals() est crade)

    Et on peut ainsi utiliser :

    ma_fonction(1,2,3,4)

    Tout simplement.

    Donc s'il y a des spécialistes de ruby dans le coin, vous pouvez me dire s'il n'y a vraiment pas de first-class function en ruby ? Ou alors justement c'est qu'il n'y a aucun spécialiste ruby sur ce thread ?

    (ne le prenez pas méchamment, c'est juste que j'hallucine grave sur cette lacune si c'en est vraiment une)