Types 有没有办法获得Perl 6程序中所有已知类型的列表?
有没有一种方法可以获得Perl 6程序知道的所有已知类型(内置、定义、加载等)的列表?我脑子里没有特定的任务,这与判断我已经知道的类型是否已经定义有点不同。这应该可以做到:Types 有没有办法获得Perl 6程序中所有已知类型的列表?,types,raku,Types,Raku,有没有一种方法可以获得Perl 6程序知道的所有已知类型(内置、定义、加载等)的列表?我脑子里没有特定的任务,这与判断我已经知道的类型是否已经定义有点不同。这应该可以做到: 。表示(|核心:,|单位:,|外部:,|我的:) .grep({.key eq.value.^name}) .map(*.key) .独一无二 ; 说明: Perl 6提供了一种允许间接查找在不同范围内声明/可见的符号的方法。它们可以像散列一样被访问和迭代 所有内置符号应位于核心::中 查找在当前词法作用域或其父作用域之
。表示(|核心:,|单位:,|外部:,|我的:)
.grep({.key eq.value.^name})
.map(*.key)
.独一无二
;
说明:
Perl 6提供了一种允许间接查找在不同范围内声明/可见的符号的方法。它们可以像散列一样被访问和迭代
- 所有内置符号应位于
中李>核心::
- 查找在当前词法作用域或其父作用域之一中声明(或导入)的所有词法作用域更为复杂。
根据文档中对它的描述,我本以为
会包含所有这些,但根据一些实验,情况似乎并非如此,它看起来像词法::
,单元::
,和外部::
需要搜索以捕获它们我的:
- 类型(包、模块、类、角色、本机类型、枚举类型、子集类型)
- 函数(子程序、术语和运算符)
- 枚举值
- 变量和常量
.grep({.value.HOW.^name eq'Perl6::Metamodel::ClassHOW'})