Книга: Программирование на языке Ruby
11.3.11. Обход пространства объектов
11.3.11. Обход пространства объектов
Система исполнения Ruby должна отслеживать все известные объекты (хотя бы для того, чтобы убрать мусор, когда на объект больше нет ссылок). Информацию о них можно получить с помощью метода ObjectSpace.each_object
.
ObjectSpace.each_object do |obj|
printf "%20s: %sn", obj.class, obj.inspect
end
Если задать класс или модуль в качестве параметра each_object
, то будут возвращены лишь объекты указанного типа.
Модуль Object Space полезен также для определения чистильщиков объектов (см. раздел 11.3.14).
Оглавление статьи/книги
- 11.3.1. Динамическая интерпретация кода
- 11.3.2. Метод const_get
- 11.3.3. Динамическое создание экземпляра класса, заданного своим именем
- 11.3.4. Получение и установка переменных экземпляра
- 11.3.5. Метод define_method
- 11.3.6. Метод const_missing
- 11.3.7. Удаление определений
- 11.3.8. Получение списка определенных сущностей
- 11.3.9. Просмотр стека вызовов
- 11.3.10. Мониторинг выполнения программы
- 11.3.11. Обход пространства объектов
- 11.3.12. Обработка вызовов несуществующих методов
- 11.3.13. Отслеживание изменений в определении класса или объекта
- 11.3.14. Определение чистильщиков для объектов
Похожие страницы
- Почему необходима миграция
- Иерархия объектов в InterBase
- Уменьшение времени, необходимого для резервного копирования и восстановления
- Имена объектов длиной 68 символов
- Создание объектов Collection
- Обход дерева
- Определение необходимого системного вызова
- Добавление списка необходимых предметов
- 3.3. Определение объектов защиты
- Глава 2. Что необходимо для беспроводной связи
- Можно ли избавиться от необходимости использовать двойной щелчок кнопкой мыши при открытии папки?
- 2.3.6. Задание объектов физической памяти