• [^] # Re: Fonction

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

    Quoi qu'il en soit c'est sensiblement la même chose en C si tu déclares une variable en dehors d'une fonction

    D'un autre côté, en C (c'est quand même plus utile en C++ avec les objets, mais bon), on peut faire ceci:

    int main()
    {
     {
     int foobar = 42;
     printf( "%d", foobar );
     }
     ++foobar;
    }

    Et ça ne compilera pas parce que foobar n'est pas à portée. Inutile de rajouter tout un patacaisse de contournements.
    Bien entendu, ce n'est pas commun, et je préfère éviter d'y avoir recours, je préfère faire une vraie fonction, mais parfois, j'ai la flemme.

    Je dirais que tu trouves ça affreux parce que ça ne match pas tes regex de "code dont j'ai l'habitude" et parce que c'est du javascript donc t'es obligé de dire que c'est mal.

    Ou parce que d'autres langages plus anciens permettent de faire la même chose, avec moins de magie noire, et que, peut-être, JS aurai pu s'en inspirer.
    Mais il est vrai que j'ai énormément de mal avec la notion de ne pas avoir besoin de définir un point d'entrée pour un programme, pour commencer.
    Le fait de devoir le faire me semble tellement pratique quand je dois creuser dans le code des autres: un p'tit grep "int main(" -r . (par exemple, peu importe le nom de la fonction qui sert de point d'entrée) et je sais ou que ça commence. Contrairement aux langages qui ne forcent pas ce type de définition.

    Oups, on est pas encore dredi.