Ruby имеет два способа обращения к стандартному вводу: константа STDIN
и глобальная переменная $stdin
.
Помимо того, что я могу назначить другой объект IO
для $stdin
, потому что он не является константой (например, перед форкированием для перенаправления ввода-вывода у моих детей), какая разница между STDIN
и $stdin
? Когда я должен использовать каждый в своем коде?
Если я переназначаю $stdin
, это повлияет на STDIN
?
И это также относится к STDOUT
/$stdout
и STDER
/$stderr
?