是否可以为变量分配签名,然后在不同的函数/方法中重用它?
我找到my $sig = :($a, $b);
但我不知道如何将变量用作函数中的签名。
答案 0 :(得分: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".