Программирование на языке Ruby
Шрифт:
Таким образом, можно добиться более-менее системно-независимого поведения
Упомяну еще метод
14.1.2. Перехват вывода программы
Простейший способ перехватить информацию, выведенную программой, — заключить команду в обратные кавычки, например:
Обобщенный ограничитель
Применение
Поскольку обратные кавычки — это на самом деле метод (в некотором смысле), то его можно переопределить. Изменим его так, чтобы он возвращал не одну строку, а массив строк. Конечно, при этом мы создадим синоним старого метода, чтобы его можно было вызвать.
Как видите, при таком определении изменяется также поведение ограничителя
В следующем примере мы добавили в конец команды конструкцию интерпретатора команд, которая перенаправляет стандартный вывод для ошибок в стандартный вывод:
Есть, конечно, и много других способов
14.1.3. Манипулирование процессами
В этом разделе мы обсудим манипулирование процессами, хотя создание нового процесса необязательно связано с запуском внешней программы. Основной способ создания нового процесса — это метод
Метод
Существуют два способа вызвать метод
В этом не слишком реалистичном примере выводимые строки могут чередоваться, а может случиться и так, что строки, выведенные родителем, появятся раньше. Но сейчас это несущественно.
Следует также отметить, что процесс-потомок может пережить своего родителя. Для потоков в Ruby это не так, но системные процессы — совсем другое дело.
Во втором варианте вызова метод
Конечно, pid по-прежнему возвращается, мы просто не показали его.
Чтобы дождаться завершения процесса, мы можем вызвать метод
Лекарственные растения. Использование в народной медицине и в быту
Дом. Дача. Сад. Огород
Дом и Семья:
здоровье и красота
рейтинг книги
Электроника?.. Нет ничего проще!
885. Массовая радиобиблиотека
Техника:
радиоэлектроника
рейтинг книги
Александр Иванович Шокин. Портрет на фоне эпохи
6. Созидатели отечественной электроники
Документальная литература:
биографии и мемуары
рейтинг книги
Ермак. Регент
10. Ермак
Фантастика:
попаданцы
альтернативная история
рейтинг книги
Древние тайны (Сборник)
Алиса и ее друзья в лабиринтах истории
Детские:
детская фантастика
рейтинг книги
Робин Уильямс. Грустный комик, который заставил мир смеяться
Иконы кино. Биографии великих деятелей кинематографа
Документальная литература:
биографии и мемуары
публицистика
рейтинг книги
Точка Бифуркации XI
11. ТБ
Фантастика:
аниме
фэнтези
попаданцы
рейтинг книги
"Фантастика 2024-68". Компиляция. Книги 1-22
Фантастика 2024. Компиляция
Фантастика:
фэнтези
боевая фантастика
космическая фантастика
попаданцы
альтернативная история
рпг
рейтинг книги
Второгодка. Книга 3. Ученье свет
3. Второгодка
Фантастика:
городское фэнтези
сказочная фантастика
альтернативная история
рейтинг книги
Печать пожирателя 6
6. Пожиратель
Фантастика:
городское фэнтези
попаданцы
аниме
сказочная фантастика
фантастика: прочее
рейтинг книги
"Дальние горизонты. Дух". Компиляция. Книги 1-25
Собрание сочинений
Фантастика:
фэнтези
боевая фантастика
попаданцы
рейтинг книги
Worm
Фантастика:
боевая фантастика
киберпанк
рейтинг книги
Корабль смерти, Стальной человек и другие самые невероятные истории (сборник)
Шедевры фантастики
Фантастика:
научная фантастика
ужасы и мистика
рейтинг книги
Стихотворения и поэмы (основное собрание)
Поэзия:
поэзия
рейтинг книги