Анализ ролей NQP - PullRequest
       77

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

0 голосов
/ 20 января 2019

Из этого вопроса в StackOverflow я обнаружил 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?

...