Глубина ограничена pp или to_yaml в рубине - PullRequest
4 голосов
/ 05 января 2011

Могу ли я ограничить глубину рекурсии PP.pp или to_yaml в Ruby? Если нет, есть ли другая функция, которую я могу использовать?

1 Ответ

0 голосов
/ 07 декабря 2012

Насколько я знаю, нет простого способа сделать это.Метод #inspect, который реализуется почти каждым объектом Ruby, не может быть ограничен глубиной.

Вы должны реализовать это самостоятельно, например, вы можете создать рекурсивный метод, который принимает объект и целочисленное значение для представления.текущая глубина.Основная проблема заключается в том, что вам нужно обрабатывать выходные данные для объектов каждого ожидаемого класса по-разному, чтобы имитировать их конкретный вывод #inspect, поскольку вы не можете использовать их оригинальный метод #inspect.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...