Существующие модули
Есть два lazy attribute modules.
Обычный код
Брэд $!cheezeburger //= do { ... };
кажется довольно прямо вперед решение, что будет хватать для многих случаев применения.
Что-то лучше?
Вы можете обнаружить, что люди # perl6 хотят или могут обеспечить что-то лучшее.
Самые последние серьезные обсуждения # perl6, о которых я знаю об инициализации ленивых атрибутов, произошли в 2015 году 5, 7, 20 и 5 июня, 8 и 20 мая. Поиск «будет ленивым» в pages of #perl6 log with at least one "will lazy" match. TL; DR из этих обсуждений состоит в том, что rjbs, mst и другие пользователи Moose были использованы для инициализации ленивых атрибутов и было добавлено решение для Rakudo; он был затем отброшен, потому что масак и другие думали, что у него проблемы, и они думали, что хорошие решения могут быть созданы в пространстве модулей, а затем снова перешли к ядру, если/когда это показалось мудрым.
'метод cheezeburger {$! Cheezeburger // = ...}' –