[Tous langages] Atelier algo sympathoche

a marqué ce sujet comme résolu.

J’ai tout de même l’impression qu’une vaste majorité des langages dynamiques (si ce n’est tous) permettent ce genre de choses. Ce qui me choque c’est de s’insurger quand on le fait en Ruby, mais que ça ne pose pas de problèmes en Python.

GaaH

Certains le permettent juste, d’autres y incitent. Ruby fait clairement partie de cette deuxième catégorie, avec la réouverture de classes.

Est-ce qu’utiliser switch comme du goto plutôt que comme une structure de contrôle du langage simplifie vraiment le code ?

lthms

Dans ce cas ci, peut-être pas, parce qu’il y a sûrement moyen de faire autrement tout en restant simple, par exemple comme suit.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
for (i = 1; a < b; i += state) {
        double ra = ceil(a / pow(10., i));
        double rb = floor(b / pow(10., i));
        double tmp;

        if (state == ST_DECREASE)
                tmp = rb * pow(10., i);
        else if (ra < rb)
                tmp = ra * pow(10., i);
        else
                state = ST_DECREASE;
}

Mais sinon, oui, il y a des cas où cela simplifie ou optimise vraiment le code, le plus connu étant le Duff’s device.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte