Книга: Программирование на языке Ruby
14.8.1. Несколько слов о текстовых фильтрах
14.8.1. Несколько слов о текстовых фильтрах
Многие инструменты, которыми мы постоянно пользуемся (как поставляемые производителем, так и разрабатываемые собственными силами), — просто текстовые фильтры. Иными словами, они принимают на входе текст, каким-то образом преобразуют его и выводят. Классическими примерами текстовых фильтров в UNIX служат, в частности, программы sed
и tr
.
Иногда файл настолько мал, что целиком помещается в памяти. В этом случае возможны такие виды обработки, которые по-другому было бы сложно реализовать.
file = File.open(filename)
lines = file.readlines
# Какие-то операции...
lines.each { |x| puts x }
Бывает, что нужно обрабатывать файл построчно.
IO.foreach(filename) do |line|
# Какие-то операции...
puts line
end
Наконец, не забывайте, что все имена файлов, указанные в командной строке, автоматически собираются в объект ARGF
, представляющий конкатенацию всех выходных данных (см. раздел 14.2.2). Мы можем вызывать, к примеру, метод ARGF.readlines
, как если бы ARGF
был объектом класса IO
. Вся выходная информация будет, как обычно, направлена на стандартный вывод.
- 14.8.4. Вычисление свободного места на диске
- Ключевые слова
- Улучшенная стратегия вычисления предиката IN и условий, объединенных по OR
- 1.2.1. Ключевые слова и идентификаторы
- Распараллеливание на несколько процессоров
- Новые ключевые слова
- Определение пользовательского формата числовых данных
- Пример 12-8. Частота встречаемости отдельных слов
- Предисловие
- Предисловие Кое-что новенькое – поговорим напрямую
- 11.2. Технология принятия решения в условиях чрезвычайной ситуации
- Условные операторы