Trong khi đọc và thử chữ ký thông minh, tôi gặp phải điều gì đó kỳ lạ.
Thực hiện các cặp chữ ký thông minh sau:
my @sigs = :($a, $b), :($a, @b), :($a, %b);
my @signatures_to_check = :($, $), :($, @), :($, %);
my $c = 0;
for @sigs -> $sig {
for @signatures_to_check -> $s {
$c++;
if $sig ~~ $s {
say " [ $c ] " ~ $sig.gist ~ ' match ' ~ $s.gist;
next;
}
say " [ $c ] " ~ $sig.gist ~ ' do NOT match ' ~ $s.gist;
}
say "\n" ~ '#' x 40 ~ "\n";
}
Tôi đã có kết quả như sau:
[ 1 ] ($a, $b) match ($, $)
[ 2 ] ($a, $b) do NOT match ($, @)
[ 3 ] ($a, $b) do NOT match ($, %)
########################################
[ 4 ] ($a, @b) match ($, $)
[ 5 ] ($a, @b) match ($, @)
[ 6 ] ($a, @b) do NOT match ($, %)
########################################
[ 7 ] ($a, %b) match ($, $)
[ 8 ] ($a, %b) do NOT match ($, @)
[ 9 ] ($a, %b) match ($, %)
Tôi đã cố gắng giải thích các trường hợp của mình [4] và [7] nhưng tôi đã thất bại!
Ai đó có thể giải thích cho tôi?