Переведена глава "Классы и объекты" [1].Запомнились следующие
интересные моменты.
Объекты могут быть созданы вот таким способом:
my $eat = Task.new({ say 'eating dinner. NOM!' });
или так:
my Task $eat .= new({ say 'eating dinner. NOM!' });
Во втором случае явно указывается тип создаваемой перемененной $eat,
поэтому класс для конструктора
явно не указывается.
Интроспекция (introspection) - возможность определения типа и
структуры объекта в runtime (в Java эта возможность называется
рефлекцией). Следующий пример выведет на экран методы класса :
say $o.^methods(:local).join(', ');
Еще понравилось параллельное выполнение методов для массива объектов:
@!dependencies>>.perform()
[1] "Все о Perl 6: Классы и объекты".
http://writeat.com/zag/perl6-book/html-chunk/ch05.html
С уважением,
Александр