Alors pour info, d'une part avoir des itérateurs conditionnels est utile dans le monde réel, parce qu'il arrive qu'on n'ait pas envie de parcourir toute une liste, d'autre part cet exemple soi-disant académique sert essentiellement à illustrer comment on peut passer plus d'un bloc à une fonction, ce qui est également utile tous les jours dans le monde réel.
Si tu penses que pour aborder un aspect d'un langage (itérateurs et blocs) il faut étudier des cas concrets, je peux t'en sortir à la pelle, mais ça risque de prendre un peu plus de place. Par exemple je peux t'écrire un exemple où on veut parcourir un graphe en profondeur, et s'arrêter au premier sommet non marqué. C'est typiquement une variante de foreach_while.
Concernant la remarque sur join, je suis bien d'accord que ça ne s'applique pas qu'aux tableaux ou aux listes, ça s'applique à tout ce qui est énumérable. C'est pour cette raison que c'est une méthode appartenant au module Enumerable en Ruby. Ce module est implémenté par Array, mais aussi par d'autres objets. Je ne vois toujours pas en quoi on peut penser que c'est une méthode de String, mais admettons, c'est peut-être une autre manière de voir qui est valide.
Enfin, concernant l'opérateur ".", je pense que mon raisonnement est devinable dans la manière dont j'ai écrit mon post. D'abord j'ai supposé que c'était un appel de méthode, parce que c'est ce à quoi je suis habitué, mais je ne trouvais pas ça logique. Ensuite, je me suis rappelé qu'en Perl ou PHP, le point était l'opérateur de concaténation, d'où ma question.
[^] # Re: Célèbre ?
Posté par Yusei (Mastodon) . En réponse à la dépêche Sortie de Ruby on Rails 2.0. Évalué à 4.
Si tu penses que pour aborder un aspect d'un langage (itérateurs et blocs) il faut étudier des cas concrets, je peux t'en sortir à la pelle, mais ça risque de prendre un peu plus de place. Par exemple je peux t'écrire un exemple où on veut parcourir un graphe en profondeur, et s'arrêter au premier sommet non marqué. C'est typiquement une variante de foreach_while.
Concernant la remarque sur join, je suis bien d'accord que ça ne s'applique pas qu'aux tableaux ou aux listes, ça s'applique à tout ce qui est énumérable. C'est pour cette raison que c'est une méthode appartenant au module Enumerable en Ruby. Ce module est implémenté par Array, mais aussi par d'autres objets. Je ne vois toujours pas en quoi on peut penser que c'est une méthode de String, mais admettons, c'est peut-être une autre manière de voir qui est valide.
Enfin, concernant l'opérateur ".", je pense que mon raisonnement est devinable dans la manière dont j'ai écrit mon post. D'abord j'ai supposé que c'était un appel de méthode, parce que c'est ce à quoi je suis habitué, mais je ne trouvais pas ça logique. Ensuite, je me suis rappelé qu'en Perl ou PHP, le point était l'opérateur de concaténation, d'où ma question.