, я хочу знать, пытается ли кто-нибудь передать содержимое программы ruby на стандартный ввод. Я не хочу, чтобы Ruby возвращался к интерактивному вводу. Как мне это сделать?
# When called in bash like this, I want 'cat.rb' to exit immediately:
ruby cat.rb
# When called in bash like this, I want to see the word 'hello':
echo hello | ruby cat.rb
Если у меня есть только cat.rb
contain put gets
, то первый пример будет блокироваться, ожидая EOF на интерактивном stdin. Я не хочу изменять вызывающую команду, но хочу поддерживать оба типа поведения.