Ruby/Методика самопознания: различия между версиями
Содержимое удалено Содержимое добавлено
Строка 55:
=== Какие классы/модули использовались этим классом? ===
На первый взгляд может
Дело в том, что в языке Ruby отсутствует [[w:Множественное наследование|множественное наследование]], которое компенсируется механизмом [[w:Примесь (программирование)|примесей]]. Вот для того, чтобы получить массив всех классов/модулей, которые относятся к данному классу и существует метод <tt>.ancestors</tt>. Посмотрим его в деле:
Строка 63:
Обратите внимание, что текущий класс располагается нулевым элементом в массиве, а все остальные классы расположены в порядке наследования/примешивания.
=== Как получить список примесей класса? ===
Поработав с методом <tt>.ancestors</tt> может возникнуть резонный вопрос, а что если нужно получить только список примесей без родительских классов? В принципе, для этого надо знать только то, что все примеси имеют класс Module. Узнать это можно, если выполнить простенькую программу:
|