Шрифт:
Вот что будет напечатано в результате выполнения этого кода:
С этим методом тесно связан метод
Предположим, что вам нужно извне протрассировать выполнение программы в целях отладки. Проще всего воспользоваться для этого библиотекой
Можно запустить
Программа
11.3.11. Обход пространства объектов
Система исполнения Ruby должна отслеживать все известные объекты (хотя бы для того, чтобы убрать мусор, когда на объект больше нет ссылок). Информацию о них можно получить с помощью метода
Если задать класс или модуль в качестве параметра
Модуль Object Space полезен также для определения чистильщиков объектов (см. раздел 11.3.14).
11.3.12. Обработка вызовов несуществующих методов
Иногда бывают полезны классы, отвечающие на вызовы произвольных методов. Например, для того чтобы обернуть обращения к внешним программам в класс, который представляет каждое такое обращение как вызов метода. Заранее имена всех программ вы не знаете, поэтому написать определения всех методов при создании класса не получится. На помощь приходит метод
Первый параметр метода