Анализ ролей NQP

Из этого вопроса в Stackru я обнаружил Type.^roles, который включает в себя все роли, которые составлены в тип. Он работает везде, но не может печатать, если где-то есть роли NQP:

 say Cursor.^roles# OUTPUT: «No such method 'gist' for invocant of type 'NQPMatchRole'. Did you mean 'ast'?␤  in block <unit> ␤␤»

Там нет метода gist или же Str, Тем не мение, ^name похоже на работу

my @cursor-roles = Cursor.^roles; print $_.^name for @cursor-roles ; # OUTPUT: «NQPMatchRole»

Могу ли я предположить, что роли NQP следуют той же метамодели, что и в Perl 6, и я могу хотя бы использовать ^name? Существует ли более общий способ печати всех ролей, включая роли Perl 6 и NQP?

0 ответов

Другие вопросы по тегам