Строковая потоковая передача в Ruby (например, grep)

По умолчанию Ruby открывает $ stdin и $ stdout в буферизованном режиме. Это означает, что вы не можете использовать Ruby для выполнения операции фильтрации текста, подобной grep. Есть ли способ заставить Ruby использовать строчно-ориентированный режим? Я видел различные решения, включая popen3 (который работает только в буферизованном режиме) и pty (который не обрабатывает отдельно $ stdout и $ stderr , который мне нужен).

Как мне это сделать? Кажется, что у Python такой же недостаток.

12
задан Peter 3 August 2011 в 15:33
поделиться