有没有办法获得Perl 6程序知道的所有已知类型(内置,定义,加载,等等)的列表?我没有特定的任务,这与确定我已经知道的类型是否已经定义有点不同.
我希望能够将我的脚本传递到.rakumod文件的路径,例如<blah>/Mod.rakumod,并且能够以散列形式访问符号表,就像我use改为使用模块一样:
模块:
$ cat Mod.rakumod
unit module Mod;
sub bag is export { ... }
Run Code Online (Sandbox Code Playgroud)
use lib <dir-containing-Mod>
use Mod;
say Mod::EXPORT::.keys
Run Code Online (Sandbox Code Playgroud)
正如预期的那样工作,返回(ALL DEFAULT)。
另一方面:
use lib <dir-containing-Mod>
require Mod;
say Mod::EXPORT::.keys
Run Code Online (Sandbox Code Playgroud)
失败
Could not find symbol '&EXPORT' in 'Mod'
in block <unit> at <blah>
Run Code Online (Sandbox Code Playgroud)
尽管事实上,即使require,say Mod::.keys确实看到EXPORT:
use lib <dir-containing-Mod>
require Mod;
say Mod::.keys
---
(EXPORT Mod)
Run Code Online (Sandbox Code Playgroud)
我需要使用require来使这个动态,因为我不知道我想要哪个模块。
我其实可以 …