• [^] # Re: Ruby

    Posté par (site web personnel) . En réponse au journal A mort les boucles. Évalué à 2.

    Moi, je trouve ça laid. Je vois pas pourquoi dans un for, il y aurait une asymétrie entre la première et la deuxième borne.
    Dans l'idée, je trouve beaucoup plus joli d'exprimer le for comme une fonction qui dépend des bornes et du bloc :
    let for debut fin bloc = ...


    /me espère pas se gourrer dans ce qui suit :

    En général, on utilise for pour deux choses : soit parcourir un tableau, soit pour simplement faire une iteration

    Dans le cas d'un parcour d'un tableau (une liste, un vecteur, ...) on ne devrait jamais à mon sens utiliser de for mais utiliser des constructions du type
    montab.each()

    Dans le cas d'itération (et donc là il y a une certaine disymétrie), écrire 1.to(10) ne me choque pas vraiment mais on peut très bien remplacer par une écriture du type : (1..10).each
    Dans ce cas il n'y a aucune disymétrie. Mais pour des itérations partant de 0 (comme c'est souvent le cas en info) le mieux reste nbIter.times qui est franchement plus logique je trouve, il colle beaucoup mieux à l'esprit qu'on a des itérations.


    note : sinon, dans les trucs pas logique, pourquoi certains utilisent des for(;;) ?
    Mieux vaut à mon sens utiliser dans ce cas un while(true) (même si ça fait la même chose...), non ?