有没有办法获得Perl 6程序知道的所有已知类型(内置,定义,加载等)的列表?我没有考虑到特定的任务,这与确定我已经知道的类型是否已被定义有点不同。
答案 0 :(得分:12)
这应该可以解决问题:
.say for (|CORE::, |UNIT::, |OUTERS::, |MY::)
.grep({ .key eq .value.^name })
.map(*.key)
.unique
;
Perl 6提供Pseudo-packages,允许间接查找在不同范围内声明/可见的符号。它们可以像哈希一样被访问和迭代。
CORE::
中。 LEXICAL::
会包含所有这些内容,但基于一些似乎并非如此的实验,它看起来像UNIT::
,{{1需要搜索},和 OUTERS::
才能抓住所有人。这些伪包中定义的符号类型包括:
为了只获取类型,我抓住了符号声明名称等于其对象类型名称的类型。
如果您只想要课程,可以添加以下步骤:
MY::