Si tu en es vraiment convaincu, tu pourrais éviter de garder ton argumentation implicite.
Je n'en suis pas "vraiment convaincu", je rappelle juste la règle qui justifie ce choix. Après, chacun a le droit d'être en désaccord, c'est juste qu'il y a une cohérence dans la conception du langage.
Pourquoi join ne convertit pas automatiquement en string, sachant que join n'accepte que les strings
Précisément parce qu'ainsi, tu lèves les erreurs tôt plutôt que tard. Quiconque a déjà programmé en PHP sait à quel point c'est préférable ;-))
quand il n'y a pas d'ambiguité, forcer la convertion explicite n'a pas l'air justifié
Oui, comme ça une erreur dans ton programme apparaît cent lignes plus tard sous une forme incompréhensible plutôt qu'en levant la bonne exception au bon endroit...
D'autant que la conversion explicite n'est pas bien lourde à écrire. Par exemple : "".join(str(x) for x in my_iterator)
(on peut aussi choisir une notation plus fonctionnelle avec map ou imap)
[^] # Re: Célèbre ?
Posté par Antoine . En réponse à la dépêche Sortie de Ruby on Rails 2.0. Évalué à 2.
Je n'en suis pas "vraiment convaincu", je rappelle juste la règle qui justifie ce choix. Après, chacun a le droit d'être en désaccord, c'est juste qu'il y a une cohérence dans la conception du langage.
Pourquoi join ne convertit pas automatiquement en string, sachant que join n'accepte que les strings
Précisément parce qu'ainsi, tu lèves les erreurs tôt plutôt que tard. Quiconque a déjà programmé en PHP sait à quel point c'est préférable ;-))
quand il n'y a pas d'ambiguité, forcer la convertion explicite n'a pas l'air justifié
Oui, comme ça une erreur dans ton programme apparaît cent lignes plus tard sous une forme incompréhensible plutôt qu'en levant la bonne exception au bon endroit...
D'autant que la conversion explicite n'est pas bien lourde à écrire. Par exemple : "".join(str(x) for x in my_iterator)
(on peut aussi choisir une notation plus fonctionnelle avec map ou imap)