• [^] # Re: Fonction

    Posté par . En réponse au journal Plonk. Évalué à 3.

    En Java il y a aussi des idiomes similaires, par exemple :

    // Création d'un nouveau thread "anonyme"
    (new Thread( new Runnable() { 
     // Nouvelles variables ici
     public void run() {
     // code
     )
    }).start();

    Il y a tout un tas de subtilités sur comment/quand tu peux rajouter des variables et quelle syntaxe adopter que je n'ai pas le courage de me remémorer.

    Alors c'est un peu différent car tu lance un thread système séparé. Ça me semble logique que ce soit un peu plus sophistiqué.
    Si tu parle de la création de classe anonyme, oui c'est vraiment moche et les lambdas sont là pour supprimer la plupart des cas où tu avait à en faire.
    Pour les règles de captures, ça n'est pas très compliqué (à ce que je sache). Tu peut capturer toute variable final (ou effectivement final en java 8). C'est avec les lambdas du C++ que les règles de capture de contexte sont très complexes.

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