2017-05-21 13 views
4

変数にシグネチャを割り当ててから、別の関数/メソッドで再利用することはできますか? my $sig = :($a, $b);が見つかりましたが、変数を関数のシグネチャとしてどのように使用できるかわかりません。署名を再利用するには?

答えて

4

一つの方法:

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". 
関連する問題