Quelle est la différence entre l'entrée standard STDIN et $stdin en Ruby?

Ruby a deux manières de se référer à la norme d'entrée: Le STDIN constante , et la $stdin variable globale.

Hormis le fait que je peux attribuer une autre IO objet de $stdin parce que ce n'est pas une constante (par exemple, avant de bifurquer pour rediriger les IO de mes enfants), quelle est la différence entre STDIN et $stdin? Quand dois-je utiliser chaque dans mon code?

Si je réaffecter $stdin, il n'affecte STDIN?

Et cela vaut-il pour STDOUT/$stdout et STDER/$stderr?

  • $stdin est plus laid.
InformationsquelleAutor Ken Bloom | 2010-11-25