Я ищу метод в Ruby, который в основном таков:
io.ready_for_read?
Я просто хочу проверить, доступен ли данный объект IO (в моем случае, результат вызова popen), т.е. последующий вызов io.read(1) не будет блокироваться.
Это два варианта, которые я вижу, ни один из которых мне не нравится:
-
io.read_nonblock- слишком тонкая абстракция Unixread()- я не хочу иметь дело с обработкой ошибокerrno. -
io.selectс таймаутом 0 - обманывает цель этой простой операции.
Есть ли лучшая альтернатива, которую я упустил?