如何重用签名?

sid*_*com 6 signature perl6

是否可以为变量分配签名,然后在不同的函数/方法中重用它?我发现my $sig = :($a, $b);但我不知道如何将变量用作函数中的签名.

rai*_*iph 6

单程:

my $sig = :( $a, $b );

sub foo ( &function where { .signature ~~ $sig } ) {}

sub bar    ( $p, $q ) {}
sub qux    ( $waldo ) {}

foo &bar;

say "OK at line 10"; # OK at line 10

foo &qux;            # Constraint type check failed ... line 12".
Run Code Online (Sandbox Code Playgroud)