Ruby a des constantes et des variables globales pour stdio.Ruby stdio consts et globals, quelles sont les utilisations?
A savoir, les consts STDIN
, STDOUT
, STDERR
et leurs homologues variables, $stdin
, $stdout
, $stderr
. Je comprends la différence entre une constante et une variable. Je sais que les constantes sont immuablement fixées aux descripteurs de fichiers au moment où le script a été exécuté.
Je comprends également que vous pouvez modifier (certaines des) les variables lors de l'exécution.
Je suis curieux en ce qui concerne les utilisations pratiques de cette fonctionnalité. Pourquoi voudriez-vous le faire? Que pouvez-vous réaliser?
Voir un exemple de code, ou même simplement utiliser des cas, extrait de projets dans le monde réel serait génial.
Mise à jour: D'après ce que je crois à ce jour, il semble que lors de l'écriture de vos propres bibliothèques/programmes, vous devriez préférer utiliser les variables sur les constantes, de sorte que ses utilisateurs puissent poursuivre muck avec elle. Droite?
Pourquoi ne pas initialiser le tampon à un StringIO à la place? – kch
Quand j'ai écrit cette fonction il y a un milliard d'années, j'étais un chanteur et je ne connaissais pas StringIO. Heck, c'était Ruby 1.6 alors. Aujourd'hui, c'est la première fois que je regarde ce code depuis. Mais si le code utilise StringIO est un problème périphérique. –
En effet, c'est un problème périphérique, et stringio étant moins de code, cela facilite la lisibilité de la partie pertinente de l'exemple. Je vais accepter votre réponse. Je vais le modifier pour utiliser stringio, n'hésitez pas à le retourner si vous n'aimez pas mes changements. – kch