是否有可能以这样的方式编写模块:当模块use没有显式导入时,所有子例程都被导入,当它是used时带有显式导入时,只有这些显式导入的子例程可用吗?
#!/usr/bin/env perl6
use v6;
use Bar::Foo;
# all subroutines are imported
sub-one();
sub-two();
sub-three();
Run Code Online (Sandbox Code Playgroud)
#!/usr/bin/env perl6
use v6;
use Bar::Foo :sub-one, :sub-two;
sub-one();
sub-two();
# sub-three not imported
Run Code Online (Sandbox Code Playgroud)
:DEFAULT在导出时,为您的子设备提供特殊标签以及专用标签,例如
unit module Bar;
sub one is export(:DEFAULT, :one) { say "one" }
sub two is export(:DEFAULT, :two) { say "two" }
Run Code Online (Sandbox Code Playgroud)
现在,您可以使用普通纸导入所有这些use Bar,或者可以通过选择特定的use Bar :one;
| 归档时间: |
|
| 查看次数: |
148 次 |
| 最近记录: |