• [^] # Re: Groovy

    Posté par (site web personnel) . En réponse à la dépêche Découvrir Xtend, un langage extension de Java. Évalué à 1.

    Je sais pas si on peut différencier le métaprogramming du typage dynamique.
    Voila ce que l'on peut faire en Groovy :

    class Toto {
     def tutu = { println "tutu" }
    }
    Toto.metaClass.tutu << {println "toto ${delegate.class.name}"} {}
    Toto.metaClass.titi << {println "titi ${delegate.class.name}"}
    Toto toto = new Toto()
    toto.tutu()
    toto.titi()
    
    

    ce qui affiche

    toto metaclass3 <- nom du fichier sans l'extension...
    tutu
    titi Toto
    
    

    j'ai encore jamais utilisé le switch du groovy :) le fall-through est error prone, mais j'ai tendance à l'utiliser (en commentant soigneusement), donc c'est plutôt une bonne chose pour le Groovy.