Duplicar posible:
Ruby $stdout vs. STDOUT
Está STDERR
prefieren generalmente sobre el uso de $stderr
, o viceversa?
¿Y qué hay de STDOUT
contra $stdout
?
Duplicar posible:
Ruby $stdout vs. STDOUT
Está STDERR
prefieren generalmente sobre el uso de $stderr
, o viceversa?
¿Y qué hay de STDOUT
contra $stdout
?
Por el contrario, usar $stderr
es preferible.
El motivo es que $stderr
como variable global se puede reasignar, mientras que STDERR
como constante no se debe reasignar (se genera una advertencia).
Por lo general, ambos apuntan al mismo archivo de error estándar, pero en algunos casos es posible que desee redirigir temporalmente toda su producción en otro lugar (por ejemplo, un archivo de registro o en un búfer de cadena), en cuyo caso se puede simplemente reasigne $stderr
y todo su código lo respetará (si fue lo suficientemente inteligente como para usar $stderr
en lugar de STDERR
en primer lugar).
Aunque no sé si las funciones internas usan 'STDERR' o' $ stderr '. Es posible que deba realizar todas las escrituras y lecturas de manera explícita, en cuyo punto debe usar una otra variable dedicada. – Linuxios
@Linux: ¿Qué "funciones internas" escribirían en stderr? Lo único que me viene a la mente son las advertencias, que puedes erradicar arreglándolas. –
Lo siento. Quise decir 'STDOUT' y' $ stdout' en relación con 'puts' y' gets'. Whoops. – Linuxios
Creo que su pregunta ha sido respondida en otra parte: http://stackoverflow.com/questions/6671716/ruby-stdout-vs-stdout –