$stdout
est un variable globale qui représente la sortie standard actuelle. STDOUT
est un constant représentant la sortie standard et est typiquement la valeur par défaut de $stdout
.
Avec STDOUT
étant une constante, vous ne devriez pas la redéfinir, cependant, vous pouvez redéfinir $stdout
sans erreurs/alertes (redéfinir STDOUT
entraînera un avertissement). Par exemple, vous pouvez faire :
$stdout = STDERR
Il en va de même pour $stderr
et STDERR
Donc, pour répondre à l'autre partie de votre question, utilisez les variables globales pour rediriger la sortie, et non les constantes. Veillez simplement à les modifier plus loin dans votre code, car la redéfinition des variables globales peut avoir un impact sur d'autres parties de votre application.
0 votes
Duplicata possible de Quelle est la différence entre STDIN et $stdin en Ruby ?
0 votes
@theTinMan C'est un peu un doublon. Cependant il faut noter que si les différences entre
$stdout
etSTDOUT
vs$stdin
etSTDIN
sont symétriques, les différences entre$stdout
et$>
vs$stdin
et$<
ne le sont pas.