Обнаружение содержимого stdin в Ruby

, я хочу знать, пытается ли кто-нибудь передать содержимое программы 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. Я не хочу изменять вызывающую команду, но хочу поддерживать оба типа поведения.

5
задан Peter 18 August 2011 в 22:27
поделиться